CSS における相対位置指定の適用

CSSCSSBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、2 つの画像を使ったウェブレイアウトを作成することで、CSS における相対位置指定をどのように適用するか学びます。この実験では、HTML プロジェクト構造の設定、基本的な CSS スタイルシートの作成、画像配置のための相対位置指定技術の実装を通じて案内します。

まず、プロジェクトディレクトリを作成し、画像のプレースホルダー付きの HTML ファイルを初期化し、サンプル画像をダウンロードします。その後、相対位置指定を使用してこれらの画像のレイアウトと位置を定義する CSS スタイルシートを開発します。これにより、他の要素のレイアウトに影響を与えることなく、要素の位置を通常の文書フローに対して調整することができます。

HTML プロジェクト構造を設定する

このステップでは、CSS の相対位置指定を学ぶための基本的な HTML プロジェクト構造を設定します。簡単なプロジェクトディレクトリを作成し、ウェブレイアウトの実験に必要なファイルを初期化します。

まず、プロジェクトディレクトリに移動します。

cd ~/project

CSS の位置指定プロジェクト用の新しいディレクトリを作成します。

mkdir css-positioning
cd css-positioning

次に、WebIDE を使って基本的なプロジェクトファイルを作成します。

  1. index.htmlという名前の HTML ファイルを作成します。
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>CSS Relative Positioning</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div class="container">
      <img src="left-image.jpg" alt="Left Image" class="left-image" />
      <img src="right-image.jpg" alt="Right Image" class="right-image" />
    </div>
  </body>
</html>
  1. プロジェクト用のサンプル画像をダウンロードします。
wget https://labex.io/sample-left-image.jpg -O left-image.jpg
wget https://labex.io/sample-right-image.jpg -O right-image.jpg

例の出力:

--2024-xx-xx xx:xx:xx--  https://labex.io/sample-left-image.jpg
Resolving labex.io (labex.io)...
Downloading sample images...

このセットアップは、画像用のプレースホルダー付きの基本的な HTML 構造を作成し、次のステップで CSS の位置指定の実験用にプロジェクトを準備します。

基本的な CSS スタイルシートを作成する

このステップでは、ウェブページの基本的なスタイルを設定するための基本的な CSS スタイルシートを作成します。CSS(Cascading Style Sheets)を使うと、HTML 要素のレイアウト、外観、位置を制御できます。

プロジェクトディレクトリに移動します。

cd ~/project/css-positioning

WebIDE でstyles.cssという名前の新しい CSS ファイルを作成します。

/* 基本的なリセットとコンテナのスタイル */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  width: 100%;
  max-width: 800px;
  margin: 50px auto;
  position: relative;
  border: 2px solid #333;
  padding: 20px;
}

/* 初期の画像スタイル */
.left-image,
.right-image {
  width: 200px;
  height: auto;
  border: 1px solid #666;
}

CSS を分解してみましょう。

  • *セレクタは、既定のマージンとパディングを削除するためのリセットを適用します。
  • .containerは、境界付きの中央揃えのコンテナを作成します。
  • .left-image.right-imageは、初期の画像サイズを設定し、境界を追加します。

ブラウザで表示したときの例の出力:

[A centered container with a border, containing two images of equal size]

この基本的なスタイルシートは、相対位置指定の実験の基礎を提供します。次のステップでは、これらのスタイルを変更して、相対位置指定技術を示します。

左側の画像に対して相対位置指定を実装する

このステップでは、左側の画像を元の文書フロー内で移動させるために相対位置指定をどのように使用するか学びます。相対位置指定を使うと、要素の位置を通常の位置に対して調整でき、他の要素に影響を与えることなく配置を微調整できます。

WebIDE でstyles.cssファイルを開き、左側の画像に対して次の CSS を追加します。

.left-image {
  position: relative;
  top: 20px; /* 20 ピクセル下に移動 */
  left: 50px; /* 50 ピクセル右に移動 */
  background-color: #f0f0f0; /* 可視性を高めるために明るい背景を追加 */
}

相対位置指定のポイント:

  • position: relative; は相対位置指定を有効にします。
  • top は要素を下に移動させます。
  • left は要素を右に移動させます。
  • 要素の元のスペースは維持されます。
  • この移動により他の要素には影響しません。

例の視覚的な出力:

[Left image shifted 20px down and 50px right,
 maintaining its original layout space]

相対位置指定により、全体的なページレイアウトを乱すことなく要素の配置を微調整できます。

右側の画像に対して相対位置指定を実装する

このステップでは、右側の画像に相対位置指定を適用し、CSS を使って要素を独立して移動させる方法を示します。相対位置指定の柔軟性を示すために、異なる位置指定値を使用します。

WebIDE でstyles.cssファイルを開き、右側の画像に対して次の CSS を追加します。

.right-image {
  position: relative;
  bottom: 30px; /* 30 ピクセル上に移動 */
  right: -40px; /* 40 ピクセル左に移動 */
  background-color: #e0e0e0; /* 可視性を高めるために明るい背景を追加 */
}

位置指定の主な違い:

  • bottom は要素を上に移動させます。
  • 負の値の right は要素を左に移動させます。
  • 画像は元のレイアウトスペースを維持します。
  • この移動により他の要素には影響しません。

例の視覚的な出力:

[Right image shifted 30px up and 40px left,
 maintaining its original layout space]

この例は、相対位置指定を使って要素の配置を微調整するために、どのように異なる位置指定プロパティを使用できるかを示しています。

位置指定とレイアウトを確認する

この最後のステップでは、画像に適用された相対位置指定技術を見直し、確認します。相対位置指定がどのように機能するかの視覚的な理解を深めるために、いくつかの最終調整を加えます。

位置指定を強調する完全なスタイリングでstyles.cssファイルを更新します。

.container {
  width: 100%;
  max-width: 800px;
  margin: 50px auto;
  position: relative;
  border: 2px solid #333;
  padding: 20px;
  text-align: center;
}

.left-image,
.right-image {
  width: 200px;
  height: auto;
  border: 3px solid #666;
  transition: transform 0.3s ease;
}

.left-image {
  position: relative;
  top: 20px;
  left: 50px;
  background-color: #f0f0f0;
}

.right-image {
  position: relative;
  bottom: 30px;
  right: -40px;
  background-color: #e0e0e0;
}

/* 位置指定を視覚化するためにホバーエフェクトを追加 */
.left-image:hover,
.right-image:hover {
  transform: scale(1.05);
}

重要な確認ポイント:

  • 画像は元の位置に対して位置指定されています。
  • コンテナは一貫したレイアウトを維持しています。
  • ホバーエフェクトは位置指定を視覚化するのに役立ちます。

例の視覚的な出力:

[Two images positioned differently within a centered container,
 with subtle hover effects to highlight their positions]

この最終的なスタイリングは、柔軟で動的なレイアウトを作成する際の相対位置指定の力を示しています。

まとめ

この実験では、参加者はゼロから構造化されたウェブプロジェクトを作成することで CSS の相対位置指定をどのように適用するかを学びました。このプロセスには、HTML プロジェクトディレクトリを設定し、画像のプレースホルダを持つindex.htmlファイルを作成し、位置指定技術を示すためのサンプル画像をダウンロードする作業が含まれました。

この実験では、学習者が基本的な CSS スタイルシートを作成し、基本的なスタイリング原則を確立し、左側と右側の画像に対して相対位置指定を実装するための基礎を築くようにガイドしました。手順を追うことで、参加者はウェブレイアウト要素を管理する実践的な経験を得るとともに、CSS 位置指定がコンテナ内の画像の配置を制御するためにどのように使用できるかを理解することができました。

OSZAR »