我正在將一個遺留項目的CSS Reset與*{ margin:0; padding:0 }
應用於一切。現在,我的新代碼不需要它,因爲它依賴於Normalize.css。這並沒有太大的問題,但在某些地方我需要使用這兩種風格。如何使填充:自動在CSS中工作?
如何重設我的CSS?我已經能夠做到*{margin:auto}
,它工作正常。關於填充也是如此。有沒有相當的方法來重置填充。你如何解決這個問題?
我正在將一個遺留項目的CSS Reset與*{ margin:0; padding:0 }
應用於一切。現在,我的新代碼不需要它,因爲它依賴於Normalize.css。這並沒有太大的問題,但在某些地方我需要使用這兩種風格。如何使填充:自動在CSS中工作?
如何重設我的CSS?我已經能夠做到*{margin:auto}
,它工作正常。關於填充也是如此。有沒有相當的方法來重置填充。你如何解決這個問題?
auto
不是padding
屬性的有效值,你唯一可以做的就是從*
聲明中取出padding: 0;
,否則只要將padding
到相應的屬性塊。
如果從* {}
刪除padding: 0;
比瀏覽器將應用默認樣式應用到的元素,這將給你通過幾個像素意想不到的跨瀏覽器的定位偏移,所以最好是padding: 0;
使用*
和分配比,如果你想覆蓋填充,只需使用另一個規則,如
.container p {
padding: 5px;
}
我不想刪除'padding:0',因爲這會對以前做過的遺留代碼有問題。我認爲唯一的選擇是在需要的地方添加填充,因爲它不能像邊距那樣不需要填充。 –
@VaibhavKanwal是的,正如我建議 –
您應該將您的*選擇器的範圍限定在需要重置的特定區域。 .legacy * { }
等
一般我們設置'margin:0; padding:0'在'body'上,所以嵌套元素只是繼承了這個,上面的方法只有在你沒有設置'margin:0;填充:0'到身體 –
最簡單的支持的解決方案是要麼使用餘量
.element {
display: block;
margin: 0px auto;
}
或者使用一個第二容器,其具有應用這個餘量的元件周圍。如果確實存在的話,這會有一定的影響padding: 0px auto
。
CSS
.element_wrapper {
display: block;
margin: 0px auto;
}
.element {
background: blue;
}
HTML
<div class="element_wrapper">
<div class="element">
Hello world
</div>
</div>
首先填充:自動;是什麼都沒有..第二,無論你改變,你可以給!重要的是在任何情況下使用這一個 – nsthethunderbolt
可能重複的[HTML/CSS:重置列表填充默認](http://stackoverflow.com/questions/5561101)/html-css-reset-list-padding-to-default) – Scottie
@nsthethunderbolt我無法使用!重要,因爲我正在設計一個響應式設計,因此使用!重要可以使事情變得非常困難與媒體查詢 –