フロントエンド開発者として、ピクセル完璧なレイアウトを提供できるようにするには、CSS ボックス モデルを理解することが成功か失敗かです。早速、コンテンツ ボックスとボーダー ボックスという 2 つのボックス モデル タイプのコンテキストで、インライン要素とブロック要素の両方がどのように異なる動作をするかを説明しましょう。
詳細に入る前に、ボックス モデルとは何なのかを要約する価値があります。ページ上のすべての要素はボックスです (実際にはボックス状に見えない要素も同様です)。ボックスは、他のボックス内にある、他のボックスを含んでいる、および/または横にある場合があります。
ボックス モデルはすべてに適用され、次のもので構成されます:
つまり、
内および を含むほぼすべての HTML 要素、およびすべての CSS 疑似要素はボックスです。そのボックスの「壁」は境界線であり、厚さ(または幅)を与えることができます。そのコンテンツとそのボックスの壁の間にはパディングがあります。それらの壁と他のボックスの間にはマージンがあります。ボックス モデルがインライン要素とブロック要素にどのような影響を与えるかという主な違いを理解することが重要です。
Width: デフォルトでは、ブロック要素はコンテナ全体に拡張されます。インライン要素?コンテンツに十分なスペースを占有します。
Height: ブロック要素の場合、パディング、ボーダー、マージンはすべて高さを増加させます。インライン要素は、垂直方向のパディングや境界線に関係なく、行の高さ内に収まります。
レイアウトへの影響: ブロック要素は水平方向と垂直方向の両方のレイアウトに影響します。インライン要素はすべて水平方向のフローに関するものであり、垂直方向の間隔への影響は最小限に抑えられます。
マージン折りたたみ: マージン折りたたみはブロック要素に固有の動作で、隣接する垂直マージンがマージされる可能性があります (つまり、1 つの要素の margin-bottom:20px が margin-top に折りたたまれる可能性があります)。次の要素に 20 ピクセルを追加し、20 ピクセルのマージンを 1 つ作成します)。インライン要素はこのゲームをプレイしません。
ボックス モデルのコンポーネントとインライン要素とブロック要素の違いがわかったので、コンテンツ ボックスがインライン要素であるかブロック要素であるかに応じて、ボックス サイズ プロパティによってどのような影響を受けるかを見てみましょう。
ボックス サイズ プロパティは、要素の幅と高さの計算方法を制御し、レイアウトに大きな影響を与える可能性があります。
box-sizing: content-box がインライン要素に適用される場合:
box-sizing: content-box がブロック要素に適用される場合:
box-sizing: border-box がインライン要素に適用される場合:
box-sizing: border-box がブロック要素に適用される場合:
content-box がデフォルトですが、border-box がより直感的で、最大限の制御を提供すると広く考えられていることに注意してください。
CSS ボックス モデルは単なる強力な概念ではなく、フロントエンド開発ツールの基礎となるツールです。ボックスのサイズ変更がインライン要素とブロック要素にどのように異なる影響を与えるかを理解することで、誤動作するレイアウトのトラブルシューティングに煩わされることなく、シャープで機能的な完璧なレイアウトを作成できるようになります。
ボックス モデルでこのダウンロードを気に入っていただけた場合は、左上のハート型のボックスにカーソルを合わせて、この投稿に愛を伝えてください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3