2012-02-08 13 views
4

これはよく尋ねられる質問ですが、いくつかの解決策(例えばHow to make separating lines/borders in a table disappear with CSS?など)を試しましたが、まだそれを得ることはできません。CSSで表の罫線を見えないようにするには

Iは、行の色を交互にCSSを介してテーブル構造を定義しています。私はtehセルの間の(特に垂直)境界線が見えなくなるようにしたいと思います。ゼロのtd境界幅、または背景色と同じtd境界色を交互に使用する必要があるとします。あなたの助けに感謝 - 下記

例は、HTMLからTABLE1 IDを呼び出すことで、私はまだ明らかにセルの枠線で素敵な交互に色の列のテーブルを取得しますが、私が試したものです。

#table1 table, tr, td, th { 
    border: 0; 
} 

#table1 tbody tr:nth-child(odd) { 
    background-color: #A3B9D2; 
} 

#table1 tbody tr:nth-child(even) { 
    background-color: #E7EDF3; 
} 

、次にサンプルhtml。

<table id="table1" > 
    <tr> 
    <td>Test</td><td>(value)</td> 
    </tr> 
    <tr> 
    <td>Test2</td><td>(value2)</td> 
    </tr> 
</table> 
+0

を - 列の要素の間にゼロの境界線の太さを定義する正しい方法は何ですか?私は#table1を使わずにtable、tr、td、th {border:0;} を試してみました。私もborder:0;運行のない交互のカラーセクションのそれぞれにおいて、誰かが私に同情を抱くことを望んでいたCSSのスピードアップではない;-) ; – vinomarky

答えて

8

それは何を記述していることはCELLSPACINGでいる可能性があります。その場合は、あなたのHTMLでこれを試してみてください。

<table cellpadding="0" cellspacing="0" border="0"> 
    ... 
</table> 

CELLSPACINGは、セル間のスペースを指します。それは正確に国境ではありません。したがって、あなたの目の間に見えない、または色のついていないスペースがある場合は、cellspacing = "0"属性をテーブルタグに追加してみてください。

+0

パーフェクト - おかげでトレイシー。素晴らしいアドバイスを提供し、この貧弱なCSSネアンデルタールの助けをした他の皆様に感謝します;-) – vinomarky

+2

Yay。それはスタックで私の最初に受け入れられた答えだった:)ありがとう! –

0

あなたが TABLE1内のテーブルにスタイルを適用しているようです。最初の宣言が実際にすべきである:

#1 TABLE1 { 境界:0。 }

又は

テーブル#1 TABLE1 { 境界:0。 }

1

#table1 table, tr, td, th {}は間違っています。あなたがすべき

#table1, 
#table1 tr, 
#table1 td { border: 0; } 
+0

ありがとうございました - 運が無ければ、ボーダーはまだ存在します(無地のカラーバーではなく、無地のカラーボーダーのように) – vinomarky

+0

他の人が投稿しているセルパッディングソリューションで試してみてください。 – elclanrs

2

をあなたもこのスタイルを使用することができます。

#table1 {border:0px solid transparent;} 
2

は、あなたが何のブラウザを使用しているこの

#table1 { 
    border-collapse: collapse; 
} 
0

を試してみてください?下位互換性を完全に保つためには、テーブルにcellspacing="0"属性が設定されている必要があります。 cellspacing="0"を使用して

http://jsfiddle.net/RmhxH/

2

確かにそれらの厄介なラインを取り除くために確実な方法です。しかし、個人的には、私は決してそれを気に入っていません。なぜなら、1つのすっきりした中央の場所ではなく、サイト全体で作成したすべてのテーブルにそれを適用する必要があるからです。

だから、私は通常のCSSファイルにelclanrs年代のようなソリューションのために行きます。その解決策のすばらしい点は、先行するタグのいくつかを削除して、それらのタグだけに行/枠線を適用できることです。

だから、他の言葉で、テーブルの周囲に境界線を配置する - あまりにも線の間にアップdivvied細胞のすべてを持たずに - あなたはこのような何かを行うことができます。

tr, td, th 
{ 
    border: 0; 
} 

幸運を!

0

このお試しください:私はあなたが正しいと確信している

table,td,tr,th{ 
    border:0; 
} 
関連する問題