CSS Position完全ガイド!5つの使い方とサンプル

CSS Positionを学ぶ初心者が理解しやすいサンプルコードと応用例 CSS
この記事は約5分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

CSS Positionという言葉を聞いたことはありますか?

ウェブデザインの初心者にとって、CSS Positionは必須の知識です。

この記事では、CSS Positionの使い方や対処法、注意点、カスタマイズ方法を初心者目線で徹底解説していきます。

サンプルコードと応用例を交えながら、あなたもウェブデザインのスキルを向上させましょう!

●CSS Positionの基本

まずは、CSS Positionの基本から学びましょう。

CSS Positionは、要素の位置を調整するためのプロパティです。以下の5つの値があります。

  1. static(デフォルト)
  2. relative
  3. absolute
  4. fixed
  5. sticky

それぞれの使い方とサンプルコードを見ていきましょう。

●static

staticは、要素の位置を特別に指定しない場合に使用されます。

これがデフォルトの値です。

div {
  position: static;
}

●relative

relativeは、要素を相対的に移動させることができます。

top、right、bottom、leftプロパティを使って、基本位置からどれだけずらすか指定します。

div {
  position: relative;
  top: 20px;
  left: 30px;
}

この例では、div要素が上から20px、左から30pxずらされます。

●absolute

absoluteは、親要素(positionがstatic以外)に対して絶対位置を指定します。

もし親要素がいない場合は、ページ全体に対して位置が指定されます。

.parent {
  position: relative;
}

.child {
  position: absolute;
  top: 10px;
  right: 50px;
}

この例では、child要素が親要素(parent)から上に10px、右に50pxの位置に配置されます。

●fixed

fixedは、ビューポート(ブラウザの表示領域)に対して固定位置を指定します。

スクロールしても要素の位置が変わらず、常に同じ場所に表示されます。

div {
  position: fixed;
  top: 20px;
  right: 30px;
}

この例では、div要素がビューポートの上から20px、右から30pxの位置に固定されます。

●sticky

stickyは、relativeとfixedの両方の性質を持ちます。

スクロールに応じて、要素が固定位置になったり、相対位置に戻ったりします。

これは、特定の範囲内で要素を固定したい場合に便利です。

div {
  position: sticky;
  top: 10px;
}

この例では、div要素が親要素内で上から10pxの位置に固定され、親要素の範囲を超えると元の相対位置に戻ります。

●問題点と対処法

CSS Positionを使用する際には、要素が重なったり、意図しない位置に配置されたりすることがあります。

これを解決するために、次の対処法があります。

  1. z-indexプロパティを使って要素の重なり順を調整する
  2. marginやpaddingを使って、要素間の余白を調整する
  3. 親要素にpositionプロパティを設定することで、子要素の位置を制御する

●注意点

CSS Positionを使う際の注意点をいくつか挙げます。

  1. positionプロパティを適用する前に、要素のデフォルトの表示形式(displayプロパティ)を確認しておくことが重要です。例えば、インライン要素に対してwidthやheightを設定する場合、displayプロパティをblockやinline-blockに変更する必要があります。
  2. 親要素にpositionが指定されていない場合、absoluteやfixedは予期しない動作をすることがあります。そのため、適切な親要素にpositionを設定することが重要です。

●応用例とサンプルコード

それでは、実際にCSS Positionを応用した例をいくつか紹介します。

サンプルコードを参考に、自分のプロジェクトに応用してみましょう。

ドロップダウンメニュー

ドロップダウンメニューは、ナビゲーションバーによく使われます。

親要素にposition: relativeを設定し、子要素にposition: absoluteを設定することで、簡単に実装できます。

.navbar {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
}

.navbar:hover .dropdown-menu {
  display: block;
}

モーダルウィンドウ

モーダルウィンドウは、画面の中央に表示されるポップアップウィンドウです。

position: fixedを使って、画面中央に配置しましょう。

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
}

.modal.show {
  display: block;
}

スクロールに応じたヘッダーの固定

スクロールに応じて、ヘッダーが画面上部に固定されるデザインは、position: stickyを使って実現できます。

header {
  position: sticky;
  top: 0;
  background-color: white;
}

まとめ

この記事では、CSS Positionの使い方、対処法、注意点、カスタマイズ方法を初心者向けに解説しました。

CSS Positionは、ウェブデザインの基本となる知識です。

ぜひこの記事を参考に、あなたのプロジェクトに活用してみてください。

どんな問題にも対処できるように、練習を重ねることが大切です。

今回学んだことを実践に活かし、ウェブデザインのスキルを向上させましょう!