この記事では主に、複数行と複数列のレイアウトを実装するための CSS のサンプル コードを紹介します。必要な方は参考にしてください。
1. HTML:
<p class="box1">
box1:实现两列多行布局
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
</p>
CSS:
.box1 { width: 500px; background: #EEEEEE; } .box1 ul { clear: both; overflow: hidden; } .box1 ul li { width: 48%; height: 100px; margin-bottom: 10px; background: skyblue; float: left; } .box1 ul li:nth-child(even) { margin-left: 4%; }これは、ie9 以降のブラウザと互換性のある
nth-child()
を使用します。 真ん中のギャップは次のとおりです。 2 つの並んだ p の幅の合計、100% を引いた残りの幅 nth-child()
について言及しているため、nth について説明する必要があります。 -of-type()
も ie9 以降のブラウザとのみ互換性があります。これと nth-child
の違いは次のとおりです。
<p class="box"> <h1></h1> <h1></h1> <p></p> <p></p> <p></p> </p>2 番目の p タグの背景を赤にしたい場合は、p:nth-child(4) で実現できます。効果; そして p:nth-of-type(2) を実現できます。したがって、nth-of-type は、p タグの前にコンテンツがどれだけあるかに関係なく、p の 2 番目の要素のみを認識します。ただし、nth-child はその親の最初の要素を見つけることです。この場合、nth-of-type の利点が反映されます。
nth-child()
,兼容ie9及以上的浏览器,中间的空隙就是两个并排p宽度之和,100%减去后剩下的宽度;
既然提到了nth-child()
,那么就要说一下nth-of-type()
,也是只兼容ie9及以上的浏览器。它与nth-child
的区别是:
<p class="box2"> box2:多行多列 <ul> <li> <p class="com"> 111 </p> </li> <li> <p class="com"> 222 </p> </li> <li> <p class="com"> 333 </p> </li> <li> <p class="com"> 444 </p> </li> </ul> </p>
如果要让第二个p标签背景为红色,那么,p:nth-child(4)这个能实现效果;而p:nth-of-type(2),就能实现。所以nth-of-type不管p标签前面有多少内容,都只认p的第二个元素。而nth-child却是找它父级的第几个元素。在这种情况下nth-of-type的优点就体现出来了。
2.多行多列
HTML:
.box2 { background: #EEEEEE; margin-top: 20px; width: 500px; } .box2 ul { overflow: hidden; margin-left: -10px; background: #EEEEEE; } .box2 ul li { width: 33.3333%; height: 50px; float: left; padding-left: 10px; box-sizing: border-box; margin-bottom: 10px; } .box2 ul li .com { height: inherit; background: skyblue; }
CSS:
<p class="box3"> <p class="header">圣杯布局(使用浮动)顶部</p> <p class="container"> <p class="center"> 中间自适应宽度,注意这个center是在left的p前面 </p> <p class="left"> 左部固定宽度 </p> <p class="right"> 右部固定宽度 </p> </p> <p class="footer">圣杯布局底部</p> </p>
这里实现的原理是:子级使用padding-left(元素间的间隙)和box-sizing:border-box
,父级使用margin-left负值,这个值和子级padding-left
是一样的。li里面加p只是为了让效果明显,不然给li加上背景,由于box-sizing:border-box
2. 複数の行と複数の列
HTML: .box3 {
background: #EEEEEE;
color: white;
margin-top: 20px;
}
.box3 .header {
width: 100%;
background: #008000;
height: 50px;
}
.box3 .container {
clear: both;
overflow: hidden;
padding: 0 130px 0 100px;
}
.box3 .container .left {
width: 100px;
float: left;
background: #008B8B;
height: 100px;
margin-left: -100%;
position: relative;
left: -100px;
}
.box3 .container .center {
background: #00BFFF;
height: 100px;
float: left;
width: 100%;
}
.box3 .container .right {
width: 130px;
float: left;
background: #FA8072;
height: 100px;
margin-left: -130px;
position: relative;
right: -130px;
}
.box3 .footer {
width: 100%;
background: #222222;
height: 30px;
}
<p class="box4"> <p class="header">圣杯布局2(使用定位)顶部</p> <p class="container"> <p class="left"> 左部固定宽度 </p> <p class="center"> 中间自适应宽度,无需考虑顺序 </p> <p class="right"> 右部固定宽度 </p> </p> <p class="footer">圣杯布局2底部</p> </p>ここで実装される原則は次のとおりです: 子は、padding-left (要素間のギャップ) と
box-sizing を使用します。 border-box
の場合、親は負の margin-left 値を使用します。これは子の padding-left
と同じです。 li に p を追加するのは、効果を明確にするためだけです。それ以外の場合、li に背景を追加すると、box-sizing: border-box
の存在により、li は何の効果も持たないように見えます。すべては一緒につながっています。 2列、4列、5列などを実装したい場合は、liの幅を変更するだけです(均等に分配する)。 この方法はIE8以降のブラウザと互換性があります。IE7では、各liの幅は3列など、通常よりも約2%小さくなりますが、IE7では各liの幅が33.333%になります。基本的に正常に表示するには 31.333% に設定する必要があります。 。 。この具体的な理由については、後で説明します rreee
聖杯のレイアウトで最も重要なのは、中央に並べられた 3 つの P です。上下の 2 つの p は数字を埋めるために使用しました。 。 。 実装プロセスは大まかに次のとおりです: 1. これら 3 つの p の HTML の配置順序は特別で、中央に表示される p が HTML の最初、次に左、最後に右になります。 2. コンテナーにパディングが設定されていない前は、左の p と右の p にマージンと相対位置が設定されておらず、3 つの ps はすべて float: left です。このとき、ページ上に表示されるのは、中央が排他行を占め、次に左のp、そして右のp3となり、左のpはmargin-left: -100%となります。このようにして、左は 2 列目から 1 列目の左端にジャンプして中央の p をカバーできます。 4. 右側の p は margin-left: -130px を設定します。この値は独自の幅のサイズです。次に、右の p も 1 列目の右端にジャンプして、中央の p をカバーします。 5. このとき、コンテナはパディングのサイズを2つのpの左右の幅に設定し、2つのpの左右の幅をそれぞれ移動させます。その後、正常に表示されます。このレイアウト方法はie7と互換性がありますが、ie6ではテストされていません。 。 。
4. 模倣聖杯レイアウトRREEE
CSS:RREE
このメソッドの背後にある考え方は次のとおりです。左側と右側にパディングを設定し、中央の p にパディングを設定しても、同じ効果を得ることができます。真ん中の3つのPの並び順は気にせず、私はいつもこの方法を使っています。ie7とも互換性がありますが、ie6はテストされていません
5. ダブルフライングウィングレイアウト.box4 { background: #EEEEEE; color: white; margin-top: 20px; } .box4 .header { width: 100%; background: #008000; height: 50px; } .box4 .container { clear: both; overflow: hidden; padding: 0 130px 0 100px; position: relative; } .box4 .container .left { width: 100px; background: #008B8B; height: 100px; position: absolute; top: 0px; left: 0px; } .box4 .container .center { background: #00BFFF; height: 100px; width: 100%; } .box4 .container .right { width: 130px; background: #FA8072; height: 100px; position: absolute; top: 0px; right: 0px; } .box4 .footer { width: 100%; background: #222222; height: 30px; }CSS: 🎜りー🎜🎜
双飛翼レイアウトと聖杯レイアウトは似ていますが、最大の違いは、双飛翼レイアウトでは、中央の中央の p の中に p があり、レイアウトの目的は主にマージンによって達成されます。この p の値。そうすれば、2 つの p の左右の相対的な位置を設定する必要はありません。その他は基本的に同じです
ie7と互換性がありますが、ie6はテストされていません。
CSS3 flex、inline-block など、複数行および複数列のレイアウト方法も多数あります。 。アイデアさえあれば、どんなに難しいレイアウトでも実現できます。
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
CSS を使用してマウスを上に動かしてアイコンの回転効果を実現する方法
以上がCSSを使用して複数行および複数列のレイアウトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

最近、製品画像の色を動的に更新するソリューションを見つけました。したがって、製品の1つだけで、私たちはそれをさまざまな方法で色付けすることができます

今週のラウンドアップでは、灯台はサードパーティのスクリプトに光を当て、安全なリソースが安全なサイトでブロックされ、多くの国の接続速度がブロックされます

サイトの訪問者と使用データを追跡するのに役立つ分析プラットフォームがたくさんあります。おそらく、特にGoogleアナリティクスが広く使用されています

ドキュメントヘッドはウェブサイトの中で最も魅力的な部分ではないかもしれませんが、それに入るものは間違いなくあなたのウェブサイトの成功にとってそれと同じくらい重要です

子のクラスでsuper()?を呼び出すJavaScriptを見たときに何が起こっているのか、Super()を使用して親のコンストラクターとSuperを呼び出します。そのアクセス

JavaScriptには、ユーザーインタラクション用の特別なUIを表示するさまざまな内蔵ポップアップAPIがあります。有名:

先日、私は多くの企業がアクセス可能なウェブサイトを作るのに苦労している理由について、フロントエンドの人々とおしゃべりをしていました。アクセス可能なWebサイトがとても難しいのはなぜですか


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
