この記事では、CSS で複数列の高さを揃えるレイアウトの関連情報と例を中心に紹介します。必要な方は参考にしていただければ幸いです。 。
最初は、複数の列の内容はサイズと高さが異なります。次に、表示するさまざまな背景を設定する必要があり、各列の高さは一貫している必要があります。この場合、複数列の同じ高さのレイアウトを使用する必要があります。
#最終的に必要な効果:
1. 実際の輪郭レイアウト
flex 技術ポイント: フレキシブル ボックス レイアウト フレックス、デフォルト値は等高レイアウトの機能です。 フレックス レイアウトを定義する場合、いくつかのデフォルト値があります。flex-direction プロパティは主軸の方向を定義します。デフォルト値は
row で、通常は水平方向に表示されます。フレックス コンテナの主軸はテキストの方向と同じになるように定義されます。スピンドルの開始とスピンドルの終了はコンテンツと同じ方向になります。
align-item この属性は、フレックス コンテナの現在の行のクロス軸 (垂直軸) の方向におけるフレックス項目の配置を定義します。デフォルト値は
stretch で、要素はコンテナに合わせて引き伸ばされます。
<p class="box"> <p class="left"></p> <p class="center"></p> <p class="right"></p> </p>
.box { display: flex; } .left { width: 300px; background-color: grey; } .center { flex: 1; background: red; } .right { width: 500px; background: yellow; }
2。
table-cell 技術的なポイント: テーブルのレイアウトには、必然的に高さが均等になるという特徴があります。 display がtable-cell に設定されている場合、この要素は表のセルとして表示されます。タグ
または
を使用するのと同様です。
HTML 構造 <p class="box"> <p class="left"></p> <p class="center"></p> <p class="right"></p> </p>
.left { display: table-cell; width:30%; background-color: greenyellow; } .center { display: table-cell; width:30%; background-color: gray; } .right { display: table-cell; width:30%; background-color: yellowgreen; }
3. 偽の等しい高さの列レイアウト、内側と下部の正と負の値外側のマージン
実装: 親コンテナのオーバーフロー属性を非表示に設定します。各列の下部パディングを比較的大きく設定し、同様の値の負のマージンを使用してこの高さを排除します。<p class="box"> <p class="left"></p> <p class="center"></p> <p class="right"></p> </p>
.box { overflow: hidden; } .box > p{ /** * padding-bottom 设置比较大的正值。 * margin-bottom 设置绝对值大的负值。 **/ padding-bottom: 10000px; margin-bottom: -10000px; float:left; width:30%; } .left { background-color: greenyellow; } .center { background-color: gray; } .right { background-color: yellowgreen; }
4. 偽の輪郭レイアウト、背景の視覚効果
技術的なポイント: float は浮動小数点であり、各列の幅を設定します。親要素をインライン ブロック レベル要素に設定し、線形グラデーション イメージを使用して親要素の背景を設定し、等高効果を強調表示します。 CSSlinear-gradient関数は、1 つ以上の色の線形グラデーションの 2 つの画像の表現を作成するために使用されます。
display: inline-block、インライン ブロック レベルの要素に設定されます。
<p class="box five-columns"> <p class="col"></p> <p class="col"></p> <p class="col"></p> <p class="col"></p> <p class="col"></p> </p>
/** 需要自己算出平均每列的宽度 */ .box { display: inline-block; background: linear-gradient( to right, red, red 20%, blue 20%, blue 40%, yellow 40%, yellow 60%, orange 60%, orange 80%, grey 80%, grey); } .col { float: left; width: 16%; padding: 2%; }
CSS ビデオ チュートリアル をご覧ください。
関連する推奨事項:以上がCSSを使用して複数列の等高レイアウトを設定する方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。