ホームページ ウェブフロントエンド CSSチュートリアル CSS の配置: 要素の配置に関する究極のガイド

CSS の配置: 要素の配置に関する究極のガイド

Nov 03, 2024 am 04:40 AM

CSS Positioning: Your Ultimate Guide to Element Placement

皆さんこんにちは、私のブログへようこそ! ?

あなたが経験豊富な開発者であっても、CSS にまだ足を踏み入れているだけであっても、この記事は追加の知識と例を提供します。

CSS の配置の概要

CSS の配置により、要素がドキュメント フロー内のどこに表示されるかが決まります。デフォルトでは、すべての要素は 左から右、上から下 という自然な流れに従います。これは 静的配置

として知られています。ただし、CSS には、要素の配置をより創造的に制御できる他の 4 つの配置モードが用意されています。

静的位置決め - デフォルトの動作

要素にposition: static (デフォルト) がある場合、ページの通常のフロー*に従って配置されます。これは、自然な文書構造を超えた配置には特別な注意を払わずに、要素が次々と並んでいると考えてください。

例:

.static-element { position: static;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

通常のフロー: フロート、フレックスボックス、またはグリッドによって変更されない限り、要素は左から右、上から下に順番にレイアウトされます。

?知っておきたい

:
  • ブロック要素

    : 新しい要素はそれぞれ最後の要素の下から始まり、垂直方向に積み重ねられます。
  • インライン要素

    : 水平方向に流れ、コンテンツが必要とする幅のみを占めます。

相対的な位置決め - 視点の変化

相対配置

は、周囲のレイアウトを変更せずに、要素を通常の位置に対して相対的に移動します。これは、要素を元の位置から少しずらしながら、ドキュメント フロー内のスペースを確保するようなものです。

例:

.relative-element {
    position: relative;
    top: 10px; /* Moves the element down by 10 pixels */
    left: 20px; /* Moves the element to the right by 20 pixels */
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

?知っておきたい

: 相対的な位置決めは簡単ですが、よく誤解されます:
  • スペースを維持します

    : レイアウト内の要素の元のスペースが維持されます。
  • オフセット

    : 通常の位置から移動するには、上、右、下、左を使用します。

絶対的な位置決め - 自由な精神

絶対配置

は、ドキュメント フローから要素を完全に削除します。次に、最も近い位置にある祖先、または祖先が存在しない場合は、最初の包含ブロック (通常は 要素) を基準にして配置します。

例:

.absolute-element {
    position: absolute;
    top: 50px;
    left: 50px;
}
ログイン後にコピー
ログイン後にコピー

?知っておきたいこと:

<script> // Detect dark theme var iframe = document.getElementById('tweet-1848997429565149264-1'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1848997429565149264&theme=dark" } </script>
  • フローから削除: 他の要素の位置には影響しません。
  • 配置された祖先を基準: 祖先が配置されていない場合、最初の包含ブロック (通常は ) に関連付けられます。

固定位置 - 画面に固定

固定位置を持つ要素は、ビューポートを基準にして配置されます。ページがスクロールされても動かないため、ナビゲーション バーやポップアップなどの要素に最適です。

例:

.static-element { position: static;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

?知っておきたいこと:

  • スクロールしません: スクロール位置を無視して所定の位置に留まるため、ヘッダーや通知に最適です。

固定配置 - ユーザーのスクロールに適応する

スティッキー配置 は静的なフローで開始されますが、スクロールのしきい値に達すると固定される可能性があります。スクロール中に表示したままにしておくヘッダーに最適です。

例:

.relative-element {
    position: relative;
    top: 10px; /* Moves the element down by 10 pixels */
    left: 20px; /* Moves the element to the right by 20 pixels */
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

?知っておきたいこと:

  • 静的に開始: しきい値に達するまで、その後固定になります。

よくある誤解とヒント

  • 絶対位置の過度の使用: 絶対位置の過度の使用は、強力ではありますが、特にサイズが変更されるコンテンツや要素が予期せず重なる場合に、レイアウトの問題を引き起こす可能性があります。
  • 位置指定を伴う Z インデックス: 配置された要素は z インデックスを使用して重なり順を制御できますが、z インデックスは配置された要素でのみ機能することに注意してください。
  • 固定によるパフォーマンス: 固定要素が多すぎると、特に固定要素が適切にリフローしない可能性があるモバイル デバイスでパフォーマンスに影響を与える可能性があります。
  • スクロール要素と固定要素: コンテンツを覆う可能性のある固定要素には注意してください。ユーザーがこれらの要素の背後にあるページを操作する方法を常に提供してください。

実際的な例

各配置タイプを示すレイアウトを作成してみましょう。

?CodePen でも例を見つけてください。

.absolute-element {
    position: absolute;
    top: 50px;
    left: 50px;
}
ログイン後にコピー
ログイン後にコピー
.fixed-element {
    position: fixed;
    bottom: 0;
    right: 0;
}
ログイン後にコピー

この例では、実際の各位置決め方法を紹介します。ウィンドウをスクロールしたりサイズ変更したりすると、要素の動作がどのように変化するかがわかります。

高度なテクニックと考慮事項

  • Z-Index: 先ほども触れましたが、もう少し詳しく見てみましょう。 Z インデックスは位置決めされた要素 (相対、絶対、固定) でのみ機能し、コンテキストを積み重ねると動作が複雑になる可能性があります。
  • 位置の結合: 場合によっては、要素はさまざまな目的で相対位置と絶対位置の両方が必要になることがあります
  • レスポンシブ デザイン: 画面サイズごとに異なる位置がどのように動作するかを検討します。小さい画面では重要なコンテンツが隠れてしまう可能性がある問題を修正しました。

  • アクセシビリティ: 固定要素または固定要素がスクリーン リーダーやキーボード ナビゲーションを妨げないようにしてください。

実際のアプリケーションを使って練習する

スキルを練習したい場合は、次のようなものを構築してみてください。

  • ナビゲーション要素: 固定または固定のヘッダーまたはフッター。
  • ツールチップまたはモーダル: 親コンテナを基準にして絶対的に配置されます。
  • 視差効果: 固定位置の背景とスクロール コンテンツを組み合わせます。

スティッキーヘッダーなど ~ 例

これは、ナビゲーション要素 (固定ヘッダー、固定フッター)、ツールチップ (絶対位置)、および単純な視差効果を示す例です。

?コード全体を検索し、Codepen で結果を確認します。

CSS の配置テクニック ~ 例

以下の例は、HTML と CSS を使用したさまざまな CSS 配置テクニックを示しています。

?コード全体を検索し、Codepen で結果を確認します。

.static-element { position: static;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  • 固定ヘッダー :

    位置を示します: スクロールに関係なくヘッダーをビューポートの上部に維持するように修正されました。

  • 静的要素 :

    通常のドキュメント フローで要素が表示されるデフォルトの位置を示します。

  • 相対要素と絶対要素 :

    relative-box は相対位置を指定するコンテナであり、その中には絶対位置の要素があります。この構造は、絶対要素が最も近い位置にある祖先 (この場合は相対ボックス) を基準にしてそれ自体をどのように配置するかを示します。

  • スティッキー要素 :

    位置: スティッキーを使用します。これは静的に開始されますが、特定のスクロールしきい値に達すると固定されます。

.relative-element {
    position: relative;
    top: 10px; /* Moves the element down by 10 pixels */
    left: 20px; /* Moves the element to the right by 20 pixels */
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  • Body: スクロールできるように高い高さに設定します。これは、さまざまな配置タイプの効果を示すために必要です。

  • 固定ヘッダー: 視認性を高めるために青色の背景で常に上部に表示されるようにスタイル設定されています。

  • コンテナ: コンテナ内に配置された要素にコンテキストを提供します。

  • 静的、相対、絶対、スティッキー要素: それぞれには、位置決め動作を視覚的に区別するための個別のスタイルがあります:

  • 通常のドキュメント フローでは静的状態が残ります。

  • 相対は通常の位置から微調整されますが、レイアウト内の元のスペースを占有します。

  • Absolute は相対ボックスを基準にして配置されます。これは、配置された親内で絶対配置がどのように機能するかを示しています。

  • スティッキーは静的に開始される場所から開始されますが、定義されたしきい値を超えてスクロールすると「固定」されます。

結論

これで完成です!これで、要素を正確に配置して、Web デザインを基本的なものから素晴らしいものに変えるための知識が身に付きました。練習すれば完璧になるということを忘れないでください。プロジェクトに飛び込んで、CSS の配置を試し始めてください。コーディングを楽しんでください!


?こんにちは、私はエレフテリアです。コミュニティ マネージャー開発者、講演者、コンテンツ作成者

です。

?この記事が気に入ったら、共有することを検討してください。

? すべてのリンク | X | LinkedIn

以上がCSS の配置: 要素の配置に関する究極のガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

ペーパーフォーム ペーパーフォーム Apr 16, 2025 am 11:24 AM

購入またはビルドは、テクノロジーの古典的な議論です。自分で物を構築することは、あなたのクレジットカードの請求書にはラインアイテムがないため、安価に感じるかもしれませんが

「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? 「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター 毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター Apr 17, 2025 am 11:26 AM

今週のラウンドアップ、タイポグラフィを検査するための便利なブックマークレットである。

独自の非JavaScriptベースの分析をホストするためのオプション 独自の非JavaScriptベースの分析をホストするためのオプション Apr 15, 2025 am 11:09 AM

サイトの訪問者と使用データを追跡するのに役立つ分析プラットフォームがたくさんあります。おそらく、特にGoogleアナリティクスが広く使用されています

See all articles