所有在同一行
裹的元素在一個包裝的div
元素:
<div id="wrapper">
<div id="first">first</div>
<div id="second">second</div>
<div id="third">third</div>
</div>
然後設置包裝紙的寬度和浮法所有三個div
S:
#wrapper {
width:700px;
clear:both;
}
#first {
background-color:red;
width:200px;
float:left;
}
#second {
background-color:blue;
width:300px;
float:left;
}
#third {
background-color:#bada55;
width:200px;
float:left;
}
此外,使用ID和/或類,並保持CSS與HTML分開。這使代碼更易於閱讀和維護。
The fiddle。
在一行中的所有元素,相同的高度
爲了實現「同一高度」的一部分,你可以使用display:table
,display:table-row
,並且display:table-cell
得到匹配的高度。它使用一個額外的div,所以HTML看起來像:
<div id="wrapper">
<div id="row">
<div id="first">first</div>
<div id="second">second<br><br></div>
<div id="third">third</div>
</div>
</div>
彩車然後可以去除,所以CSS的樣子:
#wrapper {
display:table;
width:700px;
}
#row {
display:table-row;
}
#first {
display:table-cell;
background-color:red;
width:200px;
}
#second {
display:table-cell;
background-color:blue;
width:300px;
}
#third {
display:table-cell;
background-color:#bada55;
width:200px;
}
的fiddle。
的Flexbox的方式
如果你只支持新的瀏覽器(IE 10及以上),Flexbox的是另一個不錯的選擇。確保前綴以獲得更好的支持。更多的前綴可以在here找到。
的HTML
<div class="container">
<div class="first">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="second">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nihil ratione rerum deserunt reiciendis numquam fugit dolor eligendi fuga sit. Hic, tempore. Error, temporibus possimus deserunt quisquam rerum dolor quam natus.Fugiat nam recusandae doloribus culpa obcaecati facere eligendi consectetur cum eveniet quod et, eum, libero esse voluptates. Ut commodi consequuntur eligendi doloremque deserunt modi animi explicabo aperiam, non, quas qui!</div>
<div class="third">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet obcaecati, rem. Ullam quia quae, ad, unde saepe velit incidunt, aliquid eum facere obcaecati molestiae? Repellendus tempore magnam facere, sint similique!</div>
</div>
的CSS
.container {
display:flex;
justify-content:center;
}
.container > div {
margin:10px;
background-color:#bada55;
}
.first, .third {
width:200px;
}
.second {
width:300px;
}
的Codepen。
網格方式
你可以用grid現在做到這一點,太,但如果需要支持舊的瀏覽器browser support可能是一個問題。這是相同的HTML作爲與Flexbox的例子,只有不同的CSS:
的CSS
.container {
display:grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 1fr;
grid-column-gap: 10px;
width:700px;
}
.container > div {
background-color:#bada55;
}
.first, .third {
width:200px;
}
.second {
width:300px;
}
的codepen。
你的代碼完全*好*。此外,你需要有一個包裝寬度>(200 + 300 + 200 +任何填充或邊距,你有在div中) –
+1的塗料繪圖。 –