<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stickyfill/2.0.0/stickyfill.min.js">
</script>
<style>@charset "utf-8";
/*========= レイアウトのためのCSS ===============*/
h1,
h2 {
font-size: 2rem;
}
h2,
#container p,
small {
margin: 0 0 30px 0;
}
small {
display: block;
text-align: center;
}
/*========= 左固定レイアウトのためのCSS ===============*/
/*左と右を囲う全体のエリア*/
#wrapper {
position: relative; /*position stickyの基点にするため relativeをかける*/
display: flex; /*左エリア、右エリア横並び指定*/
flex-wrap: wrap; /*ボックスの折り返し可*/
}
/*左エリア*/
#fixed-area {
/*左固定記述*/
position: -webkit-sticky; /*Safari用*/
position: sticky;
top: 0;
/*横半分50% 縦を100vhにする*/
width: 50%;
height: 100vh;
/*装飾のためのCSS*/
display: flex;
justify-content: center;
align-items: center;
background: url("/wp-content/uploads/demos/_assets/nail1.jpg") no-repeat
center;
background-size: cover;
color: #fff;
}
/*========= スクロールダウンのためのCSS ===============*/
/*スクロールダウン全体の場所*/
.scrolldown {
/*描画位置※位置は適宜調整してください*/
position: absolute;
bottom: 10px;
right: 50%;
/*マウスの動き1.6秒かけて動く永遠にループ*/
animation: mousemove 1.6s ease-in-out infinite;
}
/*下からの距離が変化して上から下に動く*/
@keyframes mousemove {
0% {
bottom: 10px;
}
50% {
bottom: 5px;
}
100% {
bottom: 10px;
}
}
/*Scrollテキストの描写*/
.scrolldown span {
z-index: 3;
/*描画位置*/
position: absolute;
left: -15px;
bottom: 45px;
/*テキストの形状*/
color: #fff;
font-size: 0.7rem;
letter-spacing: 0.05em;
white-space: nowrap;
}
/*マウスの中の線描写 */
.scrolldown span::after {
z-index: 3;
content: "";
/*描画位置*/
position: absolute;
top: 10px;
left: 17px;
/*線の形状*/
width: 1px;
height: 15px;
background: #fff;
/*線の動き1.4秒かけて動く。永遠にループ*/
animation: mousepathmove 1.4s linear infinite;
opacity: 0;
}
/*上からの距離・不透明度・高さが変化して上から下に流れる*/
@keyframes mousepathmove {
0% {
height: 0;
top: 10px;
opacity: 0;
}
50% {
height: 15px;
opacity: 1;
}
100% {
height: 0;
top: 30px;
opacity: 0;
}
}
/*マウスの描写 */
.scrolldown:before {
z-index: 3;
content: "";
/*描画位置*/
position: absolute;
bottom: 0;
left: -10px;
/*マウスの形状*/
width: 25px;
height: 37px;
border-radius: 10px;
border: 1px solid #fff;
}
/*マウスの中の丸の描写*/
.scrolldown:after {
z-index: 3;
content: "";
/*描画位置*/
position: absolute;
bottom: 26px;
left: 0;
/*丸の形状*/
width: 5px;
height: 5px;
border-radius: 50%;
border: 1px solid #fff;
}
/*右エリア*/
#container {
/*横半分50%にする*/
width: 50%;
}
/*右各セクション 装飾のためのCSS*/
section {
min-height: 100vh;
padding: 30px;
}
section:nth-of-type(2n) {
/*装飾のためのCSS*/
background-image: radial-gradient(
circle 321px at 8.3% 75.7%,
rgba(209, 247, 241, 0.5) 0%,
rgba(249, 213, 213, 0.5) 81%
);
}
/*===========768px以下の見え方=============*/
@media screen and (max-width: 768px) {
#wrapper {
display: block; /*display:flex;を解除*/
}
section {
min-height: auto; /*縦を100vh⇒解除*/
}
#fixed-area {
position: relative !important; /*position stickyを解除*/
width: 100%; /*横幅を100%にして1列に見せる*/
height: 40vh; /*縦幅を100vh⇒40vh ※任意の高さに設定可能*/
}
#container {
width: 100%; /*横幅を100%にして1列に見せる*/
}
}</style>
</head>
<body>
<body>
<div id="wrapper">
<div id="fixed-area">
<!--左固定エリア-->
<header>
<h1>WEB先案内</h1>
</header>
<!--/fixed-area-->
<div class="scrolldown">
<span>Scroll</span>
</div>
</div>
<div id="container">
<!--右エリア-->
<section>
<div class="area">
<h2>Area 1</h2>
<p>テキストが入ります。</p>
</div>
<!--/area1-->
</section>
<section>
<div class="area">
<h2>Area 2</h2>
<p>テキストが入ります。</p>
</div>
<!--/area2-->
</section>
<section>
<div class="area">
<h2>Area 3</h2>
<p>テキストが入ります。</p>
</div>
<!--/area3-->
</section>
<footer>
<small>© separate corporation.</small>
</footer>
<!--/container-->
</div>
<!--/wrapper-->
</div>
<script>/* 768px以上で、position: sticky;に対応していないブラウザは『1カラム』表示する */
$(window).on("load resize", function () {
var windowWidth = window.innerWidth;
var elements = $("#fixed-area");
if (windowWidth >= 768) {
Stickyfill.add(elements);
} else {
Stickyfill.remove(elements);
}
});
//# sourceURL=pen.js</script>
</body>
</html>