2010-12-23 11 views
2

我是一個相當新手Web開發人員,我具有我真的很感激一些幫助一個非常根本的問題:保證金HTML元素默認爲填充包含DIV的寬度,不能覆蓋

不管是什麼寬度我設置了某個包含div的任何元素,safari和Chrome都添加了額外的邊距來填充div的寬度。如果我指定它們具有0邊距,則css被覆蓋。例如,我有以下

<div class="container"> 
    <div class="element1"> 
    ... 
    </div> 
</div> 

和我設置此作爲CSS:

.container{ 
    background-color:#ffffff; 
    margin-left:7.5%; 
    margin-right:7.5%; 
    padding:30px; 
    color:#505050; 
    line-height:1.5; 
    font-size:14px; 
} 

.element1{ 
    max-width:50%; 
    margin: 0px 0px 0px 0px; 
} 

部件1具有包含元素的50%的寬度,但隨後它有一個額外緣至正確的是填充包含元素的其餘寬度。爲什麼會發生這種情況,如何將此右邊距設置爲0?

謝謝!

回答

1

嘗試在樣式表之前添加一個重置樣式表來規範化所有瀏覽器。對於不同的元素,瀏覽器對於默認的填充和邊距等有自己的想法。通過重置樣式表,您可以使每個瀏覽器從相同的位置開始。

http://meyerweb.com/eric/tools/css/reset/

+0

我意識到的是,所述元件中的一個被浮動,從而包含元素停止膨脹以填充它我是有問題的。這造成了我誤認爲是由於利潤率不變的問題。答案似乎是浮動包含的元素 - 得知這是我見過的奇怪的CSS行爲之一,但顯然這是標準。謝謝您的幫助。 – tks 2010-12-25 06:58:52

1

在我看來,你不明白塊級元素的概念。 「

」默認情況下,塊級元素的格式與內聯元素的格式不同。通常,塊級元素開始於新行,內聯元素不開始。文本部分「。

http://www.w3.org/TR/html4/struct/global.html#h-7.5.3