如何在一個div中對齊三個div(左/中/右)?
P粉092778585
2023-08-21 15:09:18
<p>我想在一個容器div內部對齊3個div,就像這樣:</p>
<pre class="brush:php;toolbar:false;">[[LEFT] [CENTER] [RIGHT]]</pre>
<p>容器div的寬度是100%(沒有設定寬度),並且在調整容器大小後,中間的div應該保持在中間位置。 </p>
<p>所以我設定了:</p>
<pre class="lang-css prettyprint-override"><code>#container{width:100%;}
#left{float:left;width:100px;}
#right{float:right;width:100px;}
#center{margin:0 auto;width:100px;}
</code></pre>
<p>但結果變成了:</p>
<pre class="brush:php;toolbar:false;">[[LEFT] [CENTER] ]
[RIGHT]</pre>
<p>有什麼建議嗎? </p>
使用Flexbox水平對齊三個div
這是一種在另一個div中水平對齊div的CSS3方法。
jsFiddle
#justify-content屬性有五個值:
在所有情況下,三個div在同一行上。有關每個值的描述,請參閱:https://stackoverflow.com/a/33856609/3597276
flexbox的好處:
#了解更多關於flexbox的資訊:
瀏覽器支援: Flexbox受到所有主要瀏覽器的支持,除了IE < 10。一些最近的瀏覽器版本,如Safari 8和IE10,需要供應商前綴。若要快速加上前綴,請使用Autoprefixer。更多詳細資訊請參考這個答案。
使用這個CSS,將你的div放置如下(首先是浮動):
附註:你也可以先浮右邊,然後左邊,再居中。重要的是浮動的內容要在「主要」中心部分之前。
附註:通常你會想在
#container
中的最後加入這段程式碼:<div style="clear:both;">< /div>
,它會使#container
的高度垂直延伸,以容納兩側的浮動內容,而不僅僅是從#center
的高度來定位,這樣可以避免兩側內容溢出底部。