2013-02-12 5 views
7

重要:この質問はもう有効ではありません。このバグは、最近のバージョンのChromeで修正されました。TBODY要素間の余分な境界線の間隔を削除するにはどうすればよいですか?

私はTABLEのすべてのセルに1pxのスペースを持つようにCSS規則を使用します。しかし、私はテーブル内に複数のTBODY要素を使用する必要があります。 2pxTHEAD,TBODYTFOOT(Chrome)の間にあります。

これらの2pxギャップを1pxに置き換える最も簡単な方法は何ですか?

The gaps

正確なHTMLとCSSコード:http://jsfiddle.net/qQA3Z/

答えて

9

注:これは、Webkitの固有のバグです。 (Firefoxには存在しませんし、いつものようにIEはjsFiddleを読み込んでテストしません。)

残念ながら、は正しくに修正されません。このトピックには既にan open questionがあります。さらに、an open bug report since Chrome 8がChrome 20から存在することが確認されています(Chrome 25でも確認できます)。この問題にはopen Webkit bug threadもありますが、これはまだ "NEW"です。

正直言って、私はこれの回避策を見つけることさえできません。 border-spacing,margin、さらにはpositionで再生することは、これに影響しないようです。

+4

問題は今日のCanaryで修正されているようですhttps://code.google.com/p/chromium/issues/detail?id=29502#c25 –

+0

最新のChromeブラウザでは、修正されているようです。 (これも正解とマークされています) – wrygiel

8

border-collapsetableのレベルや子供theadtbodytfootの間に矛盾がありますように思われます。回避策:

http://jsfiddle.net/qQA3Z/3/

body { margin: 10px; } 
div {border: 1px solid #aaa; display:inline-block} 
table { 
    background: #fff; 
    border-collapse: collapse; 
} 
td { 
    font-family: Tahoma; 
    background: #ddd; 
    padding: 5px 8px; 
    border:1px solid #fff 
} 

<div> 
<table> 
    <thead> 
     <tr><td colspan='2'>Header</td></tr> 
     <tr><td>Column 1</td><td>Column 2</td></tr> 
    </thead> 
    <tbody> 
     <tr><td>Element</td><td>Element</td></tr> 
     <tr><td>Element</td><td>Element</td></tr> 
    </tbody> 
    <tfoot> 
     <tr><td colspan='2'>Footer</td></tr> 
    </tfoot> 
</table> 
</div> 
+0

+1賢明な回避策。 – Eric

+0

+1 Chrome、FF、IEで確認済みです。ありがとう! – wrygiel

+0

解決方法は余分なマークアップを追加することですか?結構です。 – crush

5

これは私のためにそれを解決:

table { border-collapse: collapse!important;} 
3

個人的に私のためにそれを解決したが、0

行の高さに行の高さを変えた何:0; border-spacing:0

関連する問題