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

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 までご連絡ください。
@KeyFrames対CSSトランジション:違いは何ですか?@KeyFrames対CSSトランジション:違いは何ですか?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordeTailedAnimationのシーケンス、whilecsstransitionshandlesimplestatechanges.usecsstransitionsは、ButtonColorChanges、および@keyframesforintricateanimationslikerotatingingspinnnersを使用します。

静的サイトコンテンツ管理にページCMSを使用します静的サイトコンテンツ管理にページCMSを使用しますMay 13, 2025 am 09:24 AM

私は知っています、私は知っています:たくさんのコンテンツ管理システムオプションが利用可能であり、私はいくつかテストしましたが、実際にはY&#039;知っているものはありませんでしたか?奇妙な価格設定モデル、困難なカスタマイズ、一部は全体になることさえあります&

HTMLのCSSファイルをリンクするための究極のガイドHTMLのCSSファイルをリンクするための究極のガイドMay 13, 2025 am 12:02 AM

CSSファイルをHTMLにリンクすることは、HTMLの一部で要素を使用することで実現できます。 1)タグを使用して、ローカルCSSファイルをリンクします。 2)複数のタグを追加することにより、複数のCSSファイルを実装できます。 3)外部CSSファイルは、そのような絶対URLリンクを使用します。 4)ファイルパスとCSSファイルの読み込み順序の正しい使用を確認し、パフォーマンスを最適化すると、CSSプリプロセッサを使用してファイルをマージできます。

CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 AM

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

CSSアニメーション:それらを作成するのは難しいですか?CSSアニメーション:それらを作成するのは難しいですか?May 09, 2025 am 12:03 AM

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。