我總是聽說CSS中的邊距在彼此相鄰時會縮小,所以將兩個元素設置為40px只會導致它們之間有40px。
這是一種渲染CSS的老方法嗎,就像它不再以這種方式工作了嗎?
這是HTML和CSS。我似乎無法讓利潤率崩潰:
<div id="header">
<div id="mainNav" class="navBar">
<a id="homeLink" class="navBarLinks">Home</a>
<a id="aboutLink" class="navBarLinks">About</a>
<a id="articlesLink" class="navBarLinks">Articles</a>
<a id="portfolioLink" class="navBarLinks">Portfolio</a>
<a id="contactLink" class="navBarLinks">Contact</a>
<a id="rssLink" class="navBarLinks">RSS</a>
</div>
<div class="infoBar"></div>
</div>
#header { width: 100% }
.navBar {
width: 100%;
height: 24px;
background-color: #1a1a1a;
border: 0px solid #404040
}
#mainNav { border-bottom-width: 2px }
.navBarLinks {
display: block; float: left;
height: 11px;
margin: 0 30px;
background: url(/images/STORMINKsprite.png) no-repeat;
text-indent: -9999px
}
您的答案可以在CSS2.1規范建議中找到:
在CSS 2.1中,水平邊距從不折疊。
所以給定你寫的代碼,你會在每個鏈接之間得到60px每個元素的邊距是30px。
您可能想要做的是使用15px的水平邊距,然后向包含元素添加15px的水平填充。
我不知道目前在IE上發生了什么,但是如果你浮動兩個元素并且有margin-right:30px;第一頁,左邊距:30px在第二個,兩者之間將有60px。所以,我相信它不會崩潰。
如果有兩個元素在四邊都有40px的邊距,那么這兩個元素之間的間距將是80px。