CSS の position 属性の値に関する研究 (概要)

CSS の position 属性の値に関する研究 (概要)

CSS の位​​置属性は要素の配置タイプを指定し、上、下、左、右を使用して要素を具体的に配置します。

位置属性は特定の配置の前に使用する必要があります。そうしないと、すべての特定の配置属性が有効になりません。

位置には、静的、相対的、絶対的、固定、またはスティッキーの 5 つの値があります。

以下、ブロガーがコードの比較と実行結果を一つずつ説明します。

まず、position属性が設定されていません。2つの要素のtop属性は有効ではなく、color属性が有効であることがわかります。現在の位置は、デフォルトのドキュメントフローでの位置です。これは、位置を変更したときに要素の位置がどのように変化するかを比較するためのプロトタイプとして使用されます。

<!DOCTYPE html>

<html lang="ja">

<ヘッド>

    <メタ文字セット="UTF-8">

    <link rel="スタイルシート" href="./j.css">

</head>

<本文>

    <div class="box" id="one">1</div>

    <div class="box" id="two">2</div>

    <div class="box" id="three">3</div>

    <div class="box" id="four">4</div>  

</div>

</本文>

</html>
。箱 {
    表示: インラインブロック;

    背景: 赤;
    色: 白;
  }
  
  #二 {
    上: 260px;
    下部: 126px;
    左: 20px;
    背景: 青;
  } 

位置:静的

次のように #two クラスに position: static; を追加します (後続の各位置では位置の値のみが変更されます)

#二 {
    位置:静的;
    上: 260px;
    下部: 126px;
    左: 20px;
    背景: 青;
  } 

HTML 要素のデフォルト値は、配置がなく、通常のフローで表示されることです。

静的に配置された要素は、上、下、左、右の影響を受けません。

この値は位置決め属性を無効にするので、その存在の意味は何でしょうか?

Web ページのスタイルを変更するプロセス中に、特定の要素の位置情報を一時的にブロックしたり、変更中に特定の部分の位置情報を保持して回復を容易にしたりすることができます。

位置:相対

相対配置は、元の通常の文書フローを基準とした配置ですが、配置中に元のページレイアウトは変更されません。配置された要素を移動するだけと同じで、移動された比較基準位置は通常の文書フローでの位置となり、元の位置は空白のままになります。

位置: 絶対

絶対配置では、要素は通常のドキュメント フローから削除され、ページ レイアウト内に要素用のスペースが作成されません。最近配置された親要素を基準にして配置されます。この例では、配置は body 要素に基づいています。

位置: 固定

固定配置は、通常のドキュメントフローから削除され、ページレイアウトに要素のためのスペースを作成しないという点で絶対配置に似ています。違いは、ビューポートに固定され、ビューポートに基づいて配置されることです。多くのWebページを閲覧しているときに、誰もがこのような経験をしたことがあると思います。Webページの上部または下部に、Webページのスクロールに合わせて移動しない広告があります。それらはWebページに固定されており、スタック順序を変更するためにz-indexが設定されていない場合、Webページのコンテンツをカバーします。

位置: 固定

要素はドキュメント フローを離れず、ドキュメント フロー内の元の位置を保持します。

要素がコンテナ内の指定されたオフセット値を超えてスクロールされると、要素はコンテナ内の指定された位置に固定されます。つまり、top: 20px を設定すると、固定要素が相対的に配置された要素の上端から 50px の位置に達すると固定され、それ以上上方に移動しなくなります。

要素の固定相対オフセットは、最も近いスクロール ボックスを持つ親要素を基準とします。親要素をスクロールできない場合、要素のオフセットはビューポートを基準として計算されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

>>:  初心者がHTMLタグを学ぶ(3)

推薦する

階層化されたピラミッドを実現するための HTML+CSS の例

この記事では主に、HTML+CSS で階層化ピラミッドを実装する例を紹介し、皆さんと共有します。詳細...

WebWorkerはJavaScriptサンドボックスの詳細をカプセル化します

目次1. シナリオ2. IJavaScriptShadowboxを実装する2.1 メインスレッドの実...

Vue+el-tableはセルの結合を実現します

この記事の例では、参考までにセルの結合を実現するためのel-tableの具体的なコードを共有していま...

GolangでMySQLデータベースのバックアップを実装する方法

背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...

JavaScript関数導入の詳しい説明

目次機能紹介関数関数の作成コンストラクタは関数を作成する関数宣言は関数を作成する関数式関数を作成する...

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)

イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...

HTML マーキー文字フラグメントのスクロール

その特性は次のとおりです。方向アクティブな字幕のスクロール方向を設定するコードは次のとおりです。 &...

MySQL でよく使われる連結文のまとめ

はじめに: MySQL では、CONCAT() 関数を使用して複数の文字列を 1 つの文字列に連結し...

突然外部ネットワークからDockerにアクセスできなくなる問題の解決方法

マスターのメソッドによると、原因は sysctl net.ipv4.ip_forward であること...

UDP シンプル サーバー クライアント コード例

UDP の理論については詳しく説明しません。UDP に関する HelloWorld プログラムを紹介...

HTML の doctype とエンコーディングに関する簡単な説明

文書タイプDoctype は、指示を解析するためにどのバージョンの HTML を使用するかをブラウザ...