CSSでfixedを使ってスクロールしても位置を固定する方法を初心者向け解説
生徒
「先生、スクロールしてもボタンやヘッダーを画面の同じ場所に固定したいです。どうすればいいですか?」
先生
「その場合はCSSのpositionプロパティでfixedを使います。fixedを指定すると、その要素はブラウザの画面を基準に固定され、スクロールしても常に同じ位置に表示されます。」
生徒
「absoluteやrelativeとどう違うんですか?」
先生
「absoluteは親要素を基準に位置を決めますが、fixedは画面そのものを基準にするので、ページをスクロールしても動きません。主にヘッダーやフッター、サイドメニューで使います。」
1. fixedを使った要素の基本的な使い方
CSSでposition: fixedを設定すると、要素は画面上の位置を固定できます。スクロールしても動かないので、ユーザーが常に確認できるボタンやナビゲーションに適しています。top、right、bottom、leftを組み合わせることで、画面のどの位置に固定するかを調整できます。
例えば、画面の右下に常に表示される「トップへ戻るボタン」を作ることができます。
2. 固定ボタンのHTMLとCSS例
以下の例では、position: fixedを使って画面右下にボタンを固定しています。ユーザーがページをスクロールしても常に表示されます。
<style>
.fixed-button {
position: fixed;
bottom: 20px;
right: 20px;
background-color: #007bff;
color: white;
padding: 10px 20px;
border-radius: 5px;
text-align: center;
cursor: pointer;
}
</style>
<div class="fixed-button">トップへ戻る</div>
ブラウザ表示
3. fixed要素のメリットと活用例
fixedを使うと、ユーザーがページをスクロールしても重要な情報やボタンが常に表示されます。例えば、ヘッダーのナビゲーション、サイドメニュー、チャットボタン、SNS共有ボタンなどに利用できます。
メリットは以下の通りです。
- スクロールしても要素が常に見える
- 重要なボタンやメニューをユーザーに見せ続けられる
- ページの使いやすさを向上できる
4. fixed要素の注意点
fixedは画面を基準に固定されるため、ページ全体のレイアウトに影響を与えません。しかし、要素が他のコンテンツを隠す場合があるため、サイズや位置を調整する必要があります。また、モバイル画面では画面サイズが小さいので、固定する要素の幅や高さに注意しましょう。
さらに、fixed要素が多すぎるとユーザーの操作性が下がる場合があるので、必要なものだけ固定するのがポイントです。
5. fixedとabsoluteとの違いを理解しよう
absoluteは親要素を基準に位置を決めますが、fixedは画面そのものを基準にするため、スクロールしても動きません。absoluteはコンテンツの中での位置調整に向いており、fixedはヘッダーやフッター、サイドボタンなど、常に画面上に表示したい要素に向いています。
初心者にわかりやすく例えると、absoluteは「机の上でノートを置く」、fixedは「窓ガラスに貼った付箋のように常に見える」というイメージです。