2013-04-22 50 views
3

我以下響應表的這個例子: http://dbushell.com/demos/tables/rt_05-01-12.html如何刪除顯示爲行內塊的表格行之間的空格?

,但我有顯示爲inline-block的錶行之間的一個奇怪的空間,這裏有一個演示:http://codepen.io/anon/pen/Fksjw

我試圖歸零的利潤,但我可以擺脫這個空間。

+0

你可以做一個jsfiddle?你的codepen對我來說顯示爲空。 – Nelson 2013-04-22 10:51:43

+0

@Nelson這裏是:http://jsfiddle.net/W2ACD/ – Pierre 2013-04-22 10:55:28

+0

我看到列之間的空間,而不是行之間,前者是你想要避免的? – Nelson 2013-04-22 10:59:40

回答

6

你看到的是內聯(inline-block的)元素的默認行爲。一種可能的解決方案是將font-sizeline-height設置爲0以使空白不可見。然後你只需重置他們帶回一些值:

tbody { 
    ... 
    line-height: 0; 
    font-size: 0; 
} 
tbody td { 
    ... 
    line-height: 20px; 
    font-size: 14px; 
} 

http://jsfiddle.net/W2ACD/1/

另一個解決方案是手動刪除tr之間所有的換行和空格。

+0

謝謝你們兩個解決方案都很好,但爲什麼換行符造成這種情況? – Pierre 2013-04-22 11:05:59

+1

@Peter這裏描述[這裏](http://www.w3.org/TR/CSS2/text.html#white-space-model)。 – dfsq 2013-04-22 11:09:01

+0

我希望我能爲此投票更多.. – panhandel 2014-01-24 21:19:16

1

添加到您的CSS:

table { 
    border-collapse: collapse; 
} 

tbody tr { 
    display: table-row; 
} 

tbody td { 
    display: table-cell; 
} 
+0

這不是我正在尋找的內容,我需要將表格行顯示爲內嵌塊,並將td顯示爲塊,以便在不破壞小屏幕布局的情況下顯示錶格。 – Pierre 2013-04-22 10:57:06

0

行內塊元素總是給出3個像素的額外餘量。你可以解決它每個水平面減去3像素:

tbody tr { 
    display: inline-block; 
    margin: 0 -3px; 
    vertical-align: middle; 
} 
+0

問題或回答?信息不完整 – 2013-04-22 12:15:11