2012-02-07 9 views
4

100%幅の通常の表を作成し、セルにいくつかの境界線を付けると、境界線はもちろんすべてのセルのすべてのエッジを囲みます。しかし、セルが網掛けされているが境界線が「クリア」(表の要素を含む要素と同じ色)の表を必要とする場合はどうでしょうか。この場合、境界線は表のセルの内側の端には表示されますが、外側の端には表示されません。どのようにして100%幅と内部ボーダーのHTML表を作成できますか?

左右に余裕がある場合、セルの枠線の幅に等しい負のマージンをテーブルに付けることができます。それによって左側が一面になりますが、100%の幅では右側が完全に右に届きません。この設定で3pxの境界線がある場合、右側が6px短くなります。

テーブルの絶対幅を使用している場合はこれに対処できますが、%幅を使用する必要がある場合はどうすればよいでしょうか?

+0

ダイナミックコンテンツ? javascriptで管理してください。 –

+0

CSSで表の内部罫線を定義するだけですか? IE8との互換性が必要な場合は、かなり恐ろしいCSSですが、それは可能です。 – millimoose

答えて

3

should be available in IE7というCSSセレクタを使用して、テーブルの唯一の内部ボーダー行うためのCSSの方法:

table > tbody > tr > td { 
    border-left: medium solid orange; 
    border-top: medium solid orange; } 
    table > tbody > tr > td:first-child { 
    border-left: none; } 
table > tbody > tr:first-child > td { 
    border-top: none; } 

table { 
    border-spacing: 0; } 

を(Sassのグラグラインデントの礼儀。)

必須jsFiddleリンク:http://jsfiddle.net/inerdial/KzdUV/2/

+0

免責条項:これはセレクタの重要性がIEで期待通りに機能することを前提としています。 IEの複数のバージョンがインストールされている必要がありますので、私は実際にテストしませんでした。それは私がWindows XPのIEユーザーによって使用されているアプリでこれを使用したと言われています。 – millimoose

+3

開発者ツールを使用して、ブラウザモードを古いバージョンに変更できます。 – Moss

関連する問題