我想在容器div中對齊3個div,以下所示: css
[[LEFT] [CENTER] [RIGHT]]
容器div的寬度爲100%(未設置寬度),調整容器大小後,居中div應該保持居中。 ide
因此我設置: spa
#container{width:100%;} #left{float:left;width:100px;} #right{float:right;width:100px;} #center{margin:0 auto;width:100px;}
但它變成: .net
[[LEFT] [CENTER] ] [RIGHT]
有小費嗎? code
若是您不想更改HTML結構,也能夠經過添加text-align: center;
包裝器元素和display: inline-block;
到居中元素。 get
#container { width:100%; text-align:center; } #left { float:left; width:100px; } #center { display: inline-block; margin:0 auto; width:100px; } #right { float:right; width:100px; }
現場演示: http : //jsfiddle.net/CH9K8/ io
這是當我以圖像爲中心元素時必須對接受的答案進行的更改: class
#center
)。 若是不是,則必須將display
設置爲block
,而且它彷佛相對於浮動元素之間的空間居中。 確保設置圖像及其容器兩者的大小: 容器
#center { margin: 0 auto; } #center, #center > img { width: 100px; height: auto; }
我喜歡個人槓鈴緊湊而充滿活力。 這是針對CSS 3和HTML 5的 擴展
首先,將「寬度」設置爲100px是有限制的。 不要這樣
其次,將容器的寬度設置爲100%能夠正常工做,直到談論它是整個應用程序的頁眉/頁腳欄,例如導航欄或信用/版權欄。 使用right: 0;
而不是那種狀況。
您正在使用id(哈希#container
#left
, #container
#left
等)而不是類( .container
, .left
等),這很好,除非您想在代碼中的其餘地方重複樣式樣式。 我會考慮使用類代替。
對於HTML,無需將順序交換爲:左,中和右。 display: inline-block;
解決此問題,將您的代碼返回到更整潔且邏輯上又有序的位置。
最後,您須要清除全部浮動內容,以避免與未來的<div>
。 您能夠clear: both;
作到這clear: both;
總結一下:
HTML:
<div class="container"> <div class="left"></div> <div class="center"></div> <div class="right"></div> <div class="clear"></div> </div>
CSS:
.container {right: 0; text-align: center;} .container .left, .container .center, .container .right { display: inline-block; } .container .left { float: left; } .container .center { margin: 0 auto; } .container .right { float: right; } .clear { clear: both; }
若是使用HAML和SASS則有加分;)
HAML:
.container .left .center .right .clear
SASS:
.container { right: 0; text-align: center; .left, .center, .right { display: inline-block; } .left { float: left; } .center { margin: 0 auto; } .right { float: right; } .clear { clear: both; } }
您已正確完成操做,只須要清除浮動便可。 只需添加
overflow: auto;
到您的容器類。
使用該CSS,將您的div放置爲這樣(浮點數優先):
<div id="container"> <div id="left"></div> <div id="right"></div> <div id="center"></div> </div>
PS您也能夠向右浮動,而後向左浮動,而後居中。 重要的是浮子位於「主」中心部分以前。
PPS您一般但願在#container
內部最後一個代碼段: <div style="clear:both;"></div>
,它將垂直擴展#container
以包含兩個側面浮標,而不是僅從#center
取其高度,並可能容許兩側伸出底部。