我正在製作一個網站的頂部導航。菜單有一個保證金錯誤。頂部導航列表項邊距錯誤
我已經爲列表項目以及display: inline-block
定義了margin/padding : 0
。
觀看演示:http://tinkerbin.com/495Qb956
基本上,我想從列表項刪除左/右頁邊距,並且知道爲什麼這個保證金是存在的。
我正在製作一個網站的頂部導航。菜單有一個保證金錯誤。頂部導航列表項邊距錯誤
我已經爲列表項目以及display: inline-block
定義了margin/padding : 0
。
觀看演示:http://tinkerbin.com/495Qb956
基本上,我想從列表項刪除左/右頁邊距,並且知道爲什麼這個保證金是存在的。
默認情況下顯示:內嵌塊從左側取餘量。像這樣寫:
.top-right ul {
background:black;
height:43px;
font-size:0;
}
.top-right ul li {
display:inline-block;
border:1px solid red;
margin:0;
padding:0;
font-size:13px;
}
你看到這個房間是塊之間的空間。如果刪除</li>
和<li>
之間的所有空格,則會看到空間消失。基本上,內聯塊的行爲就像一個句子中的單詞,兩個塊之間的任何空白都將被摺疊爲1個空格字符。
一種解決方案是使用花車,使塊粘在一起:
li { float: left; }
您可能需要clear
這種浮動元素之後到來的元素。
由於'font-size:0'規則使得li項目之間的*空格*爲零像素,所以該解決方案的工作原理與li項目上的margin-left沒有任何關係。 – Jeroen
@Jeroen我知道。這就是我寫它的原因。我用自己的方式解釋。這並不意味着你對某人下了決心。有解決方案也喜歡這個letter-spacing&word-spacing – sandeep
我低估了,因爲我認爲答案是錯誤的。具體來說,第一句「默認顯示:inline-block從左邊取餘量」似乎是不正確的。具有顯示內容的li項目:inline-block *沒有餘裕*(它已經被OP設置爲0)。此外,設置字體大小來解決這個問題感覺像是一個黑客得到所需的效果,我認爲有[更好的解決方案](http://stackoverflow.com/a/12172644/419956)。 – Jeroen