WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
WEB制作
CSSだけでコンテンツを画面固定する方法
コーダーのkです。
ページの途中からブロックを追従させる処理をjavascriptを使わずにCSSだけで実現する方法をご紹介します。
このようなレイアウトでサイドを追従させたい時を例にします。
準備
まず通常の2カラムデザインになるように構築します。
CSSのflex使用します。
<html>
<head>
</head>
<body>
<header>
</header>
<main>
<div class="main">
<p>ここにメインコンテンツ</p>
</div>
<div class="side">
<!--この部分を追従させたい-->
</div>
</main>
<footer>
</footer>
</body>
</html>
main{
display: dlex;
}
.main{
width: 75%;
}
.sub{
width: 25%;
}
position: sticky;で固定
CSSのpositionプロパティのstickyを利用します。
.sub{
width: 25%;
position: sticky;
top: 50px; //画面の上から何pxの位置で追従。
}
sticky単体では動きません。
top: 50px; のようにどの地点で追従させるかがセットで必要です。
.subがウィンドウの50pxの位置から追従するようになります。