2014-03-02 109 views

回答

4

A「輸入」的HTML代碼等於一個空間,如果去掉這些空間</div><div>,你就會失去inline-blocks(一般或inline要素)之間的空間。

例子:http://jsfiddle.net/cm2K6/3/

沒有必要去爲float:left;box-sizingword-spacing或任何similair除非你想你的代碼好看。

+0

This答案是最有意義的。 – Morpheus

+0

我一直在網絡應用程序工作多年,今天是我第一次意識到這一點......謝謝! – Leogout

2

是因爲display: inline-block具有要素之間的自然間距。您可以使用float: left代替:

JSFIDDLE

+0

之間移除任何空白你所說的「自然空間」意思?它是瀏覽器的默認值? http://jsfiddle.net/cm2K6/8/ – Morpheus

+0

是的,你可以在這裏閱讀更多關於這個和一些解決方案:(http://stackoverflow.com/questions/1833734/display-inline-block-extra- margin) – jmore009

+0

@Morpheus是的,這是內聯流中內聯元素的正常行爲。就像你把圖像放在另一個圖像旁邊一樣;或者在文本輸入旁邊放置一個按鈕。 –

0

訣竅是不要在div之間的HTML中留出空格。我知道這很奇怪,但它很有用。如果您仍想保留內聯塊,則可以使用margin-right: -1%,否則請使用浮動元素。

+0

對於這個特殊的問題。我建議你閱讀[this](http://designshack.net/articles/css/whats-the-deal-with-display-inline-block/)去搜索「The Whitespace Issue」。謝謝 – radubogdan

+0

@MrLister的意思是間距不是由'display'屬性引起的。 – digitalextremist

+0

另外,空間不是1%。 –