首先,當你正在處理的基於網格佈局的是,始終確保您使用
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
/* Resets */
margin: 0;
padding: 0;
}
注:*
不過是通用選擇將應用 定義的屬性,以每元件。序針對特定 元素,用更具體的選擇像div.class_name
等
現在,爲什麼你需要的?
如果你在下圖中看到..
CSS增加margin
,padding
和border
外箱,而不是裏面,這是默認的內容框行爲,所以當你使用該代碼段我分享了它,它改變了框模型的行爲,並且使元素在元素內計數border
和padding
。
來到您的問題,您所提供的CSS是完美的,但position
,float
,或margin
甚至未清除的浮動元素任何事情都可能導致你所面臨的問題,所以如果你可以考慮改變你的CSS樣式表,如果你使用box-sizing: border-box;
將是值得你如何實現這一目標?
嗯,很明顯,我不會爲你整個事情,但如何實現這一點,因爲我看到你正在使用width: 79%;
現在這就是爲什麼我建議你到非常有力的理由只是一個總體思路改變盒子模型。
現在在這裏,我有兩個元素浮動到左側,隨着盒子模型的改變,所以我不必爲任何元素使用-1%
width
。當您需要間距時,在網格中嵌套更多塊,然後使用padding
而不是margin
特別是在浮動父元素上。
Demo
<div class="wrap">
<div class="left_wrap"></div>
<div class="right_wrap"></div>
</div>
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
/* Resets */
margin: 0;
padding: 0;
}
.wrap:after {
clear: both;
display: table;
content: "";
}
.wrap > div {
min-height: 300px;
}
.wrap .left_wrap {
width: 30%;
float: left;
border: 3px solid #f00;
}
.wrap .right_wrap {
border: 3px solid #000;
width: 70%;
float: left;
}
我會修復左側面板的大小,因爲在過濾器中使用的大多數文本框,組合框等等在常量大小上看起來更好......我也不認爲這是個好主意,允許網格調整直到0寬度...絕對是最好設置一些最小寬度 –
你的CSS是好的,但你可以修改它,以便當你調整大小,頁面保持響應。 – Charlie
來吧,20K代表,你不認爲我們需要看你的代碼? – j08691