ホームページ > 記事 > ウェブフロントエンド > CSS_html/css_WEB-ITnose の Position プロパティと Float プロパティの詳細な説明
Position と Float については、日常的に非常に頻繁に使用される 2 つの CSS 属性であると言えます。ほとんどの人は、これら 2 つの属性の使用について漠然とし、不明確であると考えられます。この記事では、主にこれら 2 つの属性の使用法と、2 つの属性の相互使用に関するいくつかの議論を紹介します。
この記事の主な論点:
この記事の構成ポイント:
1. HTML レイアウトの基本ポイント
ボックスモデル
HTML の通常の流れ
2. Position 属性
属性値の紹介
使い方メソッドの紹介
位置に関するちょっとした知識
3. Float 属性
属性値の紹介
使い方の紹介
Position との互換性の問題
HTML レイアウトの基本ポイント:
とをマスターしたい場合Position 属性と Float 属性を適切に使用します。これらを正しく使用する必要があります。 HTML の 2 つの基本ポイントを明確に理解する必要があります。
1. ボックスモデル
2. HTMLの通常の流れ
ボックスモデル
HTMLの要素には、ブロック要素とインライン要素の2種類があることに注意してください。ここでのインライン要素(Inline)は、Display 属性の inline および block 属性値と同じではありません。ボックス モデルのインラインとブロックは、表示属性の親クラスに似ています。たとえば、表示属性の list-item 属性値はブロック タイプです。
2 つのボックス モデルの違いを直感的に見ていきます
一般的な要素の分類をいくつか挙げます
HTML の通常の流れ
ブラウザは HTML ソース コードを読み取るとき、コード内に出現する順序に従って要素を読み取ります。要素の最終的な表示方法は、要素のボックス モデルに基づいて決定されます。インライン要素は左から右に描画され、ブロック要素は上から下に描画されます。 (以下に示すように)
01 |
07 | strongemspan |
08 | A |
10
Position 属性:
Position 属性は HTML の通常のフローの特性をよく反映できるため、最初に Position 属性について説明します。通常の流れから脱却することと、異なる位置の値を適用した後に表示属性を変更することの2点があるかどうかがポイントです。
Position の属性値
Position の属性値は、static、relative、absolute、fixed の 4 つです。
Static
デフォルトでは全ての要素のposition属性はstaticになっており、レイアウトでよく使う相対配置や絶対配置のtop、bottom、left、rightの属性は位置がstatic無効の場合によく使われます。その使用法は次のとおりです。要素の位置属性を変更した後、要素を静的にリセットして、ページのデフォルトの通常のフローに戻すことができます。
相対的
一般に相対的位置付けとして知られており、相対的な理解に重点が置かれています。前に、各要素はページの通常のフロー内の位置を「占める」と述べましたが、この位置はデフォルトの位置として理解でき、相対的な位置決めは要素を要素のデフォルトの位置からずらすことですが、元の位置とは異なります。位置は通常のフロー内で維持されます。デフォルトの位置は通常のフローから逸脱するものではなく、単なる視覚的なオフセットです。
ブロック要素を例に挙げてみましょう:
1
4 | A |
5 | B |
C |
右側の図の黒い点線は要素 B のデフォルトの通常のフロー位置であり、黄色の線は要素の相対オフセットを表しますB.要素 C が元の位置に残り、要素 B のオフセットによって変化していないことがはっきりとわかります。
インライン要素を見てみましょう(ここでは例として最も一般的に使用されるspanを使用します)
6 | strongemspan |
ここでは、width 属性をspan (100px)に割り当てていることに注意してください。ただし、相対位置属性値を使用した後でも、span は width 属性に対して無効であることがわかります。つまり、position:relative は、inline 要素の Display 属性を変更しません。この概念は非常に重要です (次の絶対値に注意してください)。違い)。
Absolute
一般に絶対位置決めとして知られている絶対位置決めは、どのように理解すればよいでしょうか?この「ルート」要素をオフセットします。ノード ツリー内のすべての親 (祖先) 要素が位置属性値を相対または絶対に設定していない場合、要素は最終的に本体を配置します。 Position:Absolute が適用された要素は、ページ内の通常のフローから切り離され、Display 属性を変更します (強調が追加されます)
まず、例としてデフォルトのネストされた DIV を使用します
< ;div style="background: #fff"> |
A |
3
A - 1
>
6 | A - 2 |
7 |
8 |
9 |
次に、親要素 (A、A-1) を配置せずに、div A-2 の絶対位置 (上: 0、左: 0) を設定します。ポジション値
1 | A |
2 | |
3 | A -ディビジョン > |
上の図から、次の結論をまとめることができます。
2) 要素がposition:Absoluteに設定された後、top、bottom、left、rightの属性が設定されていない場合、ブラウザはデフォルトでautoに設定し、autoの値が「デフォルトの位置」になります。要素の。つまり、position:Absolute を設定する前後の offsetTop 属性と offsetLeft 属性の値は変化しません。 | 特殊なケース: |
位置の知識
1)position:relative/absoluteが適用された要素の場合、margin属性は引き続き有効です、position:relativeを例に挙げます。左、上、下、右の属性が設定されている場合、要素を正確に配置して干渉要因を最小限に抑えることが困難になるため、マージン データを設定しないことをお勧めします。
2)position:Absolute はルート要素のパディングを無視します。
2
3 | 4 |