ボーダーボトムをテーブル行に追加<tr>


386

3 x 3のテーブルがあります。すべての行の下部に境界線を追加しtrて、特定の色を付ける方法が必要です。

最初に私は直接的な方法、すなわち:

<tr style="border-bottom:1pt solid black;">

しかし、それはうまくいきませんでした。だから私はこのようなCSSを追加しました:

tr {
border-bottom: 1pt solid black;
}

それでもうまくいきませんでした。

styleすべての行に属性を追加する必要がないため、CSSを使用したいと思います。にborder属性を追加していません<table>。それが私のCSSに影響を与えないことを願っています。


補足として、インラインスタイリング(質問の最初の例)が機能しない場合、埋め込みスタイリング(2番目の例)が機能することはほとんどありません。:また、あなたがスタイルにしようとしている要素の属性の利用可能性を研究しなければならないw3.org/TR/html-markup/tr.html
タス通信

テーブルのtrのボーダー下部が必要な場合は、このjsfiddle.net/7awN4に
AllenC

6
将来の検索者に@Nathan Manousosの回答までスクロールダウンするように促すためのメモです-以下はおそらくあなたが探している解決策です
ヘンリー

回答:


400

私は以前このような問題を抱えていました。私はtr直接ボーダースタイリングを取ることはできないと思います。私の回避策はtd、行のs をスタイルすることでした:

<tr class="border_bottom">

CSS:

tr.border_bottom td {
  border-bottom:1pt solid black;
}

27
このソリューションを使用すると、tdの境界にギャップが生じる可能性が高いことに注意してください。simoncereskaの答えはこれを処理しますが、点線または破線の境界線タイプでは見栄えがよくない場合があることに注意してください(連続していないため)
Griddo

24
またcellspacing="0"、属性としてを追加することでこれを修正することもできます<table>この質問を参照)。ただし、これが点線または破線の境界線でどのように表示されるかはわかりません。
Stefan van den Akker 2014

5
tr折りたたみボーダーモデルでボーダースタイリングを使用できます。@Sangram、これではなくこれを考慮に入れる答えを受け入れることを検討してください、いいえ?
Robert Siemer

テーブルのセル間にパディングがある場合、これは機能しません。パディングがある場合、境界線は明らかに分割されます。
ティモシーゴンザレス

テーブルにはこのスタイルが必要です<table style = "border-collapse:collapse">
Oguz

511

border-collapse:collapseテーブルルールに追加します。

table { 
    border-collapse: collapse; 
}

リンク


2
これだけでは機能しません。行をスタイルすることはできませんが、セルをスタイルすることはできます。
Renan

49
あなたは間違っています、@ Renan。折りたたみボーダーモデルは、行ボーダーをスタイル可能にするものです。CSSセクション17.6によると:別のボーダーモデルでは、「行、[...]はボーダーを持つことができません(つまり、ユーザーエージェントはこれらの要素のボーダープロパティを無視する必要があります)。「折りたたみボーダーモデルでは、セル、行[および]行グループ[...]のすべてまたは一部を囲むボーダーを指定することができます」ところで、ブラウザで動作します(Chromium 37)。
Robert Siemer 2014年

12
(私がしたように)混乱しているかもしれず、境界折りたたみスタイルを行ではなくテーブルに設定する必要があることに気づいていない人もいると思います。
Porlune

Chromeにはこの機能がないようですが、ボーダーコラプス機能の他のものはサポートしています。
Liqun Sun

72

使用border-collapse:collapseテーブルの上やborder-bottom: 1pt solid black;TRに


6
trに境界線を設定しても、境界線が折りたたまれていても役に立たない。trのtdsに設定する必要があります
Radu Simionescu

9
@RaduSimionescu不正解trです。境界線が折りたたまれていると、完全に正常に動作します。
Styphon 2015年

FF 45.0.1では影響なし。
imrek

41

使用する

border-collapse:collapse ネイサンが書いたように、あなたは設定する必要があります

td { border-bottom: 1px solid #000; }


それが私もそうする方法です!tdにボーダーを追加し、テーブルでborder-collapseを使用します
Sayan

30

ここには多くの不完全な答えがあります。あなたが境界線を適用することはできませんのでtr、タグ、あなたはそれを適用する必要があるtdか、thそうようなタグ:

td {
  border-bottom: 1pt solid black;
}

これを行うと、各の間に小さなスペースtdが残ります。境界線をtrタグのように表示したい場合、これは望ましくない可能性があります。いわば「ギャップを埋める」border-collapseには、table要素のプロパティを利用してcollapse、次のように値をに設定する必要があります。

table {
  border-collapse: collapse;
}

8

使用する

table{border-collapse:collapse}
tr{border-top:thin solid}

「薄いソリッド」をCSSプロパティに置き換えます。


7

行をブロックとして表示します。

tr {
    display: block;
    border-bottom: 1px solid #000;
}

代替色を簡単に表示するには:

tr.oddrow {
    display: block;
    border-bottom: 1px solid #F00;
}

11
ない良いアイデアセットへのdisplay: blockためtrの。代わりにtr td { border-bottom: ... }広告tr.oddrow td { border-bottom: ... }を使用してください
vladr '23

4
表示ブロックはテーブルレイアウトを破壊する可能性があります。テーブル自体の境界線折りたたみ:折りたたみは
間違いなく

7

box-shadowプロパティを使用して、tr要素の境界線を偽造できます。box-shadow厚さを調整するには、Y位置(下は2pxとして表示)を調整します。

tr {
  -webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  -moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
}

6

追加してみました

    table {
      border-collapse: collapse;
    }   

と一緒に

    tr {
      bottom-border: 2pt solid #color;
    }

次に、border-collapseをコメントアウトして、何が機能しているかを確認しました。下ボーダーのプロパティを持つtrセレクターを使用するだけでうまくいきました!

ボーダーCSSなし。

ボーダーCSSなし。

ボーダーフォトライブなし

ボーダーフォトライブなし

CSS Border ex

CSS Border ex

ボーダー写真のライブテーブル

ボーダー写真のライブテーブル


2

この方法を使用したときに、td要素間のスペースが境界にギャップを形成することを発見しましたが、恐れはありません...

これを回避する1つの方法:

<tr>
    <td>
        Example of normal table data
    </td>

    <td class="end" colspan="/* total number of columns in entire table*/">
        /* insert nothing in here */ 
    </td>
</tr>

CSSの場合:

td.end{
    border:2px solid black;
}

2

<td style="border-bottom-style: solid; border-bottom: thick dotted #ff0000; ">

行全体にも同じことができます。

ありborder-bottom-styleborder-top-styleborder-left-styleborder-right-style。またはborder-style、4つの境界すべてに同時に適用されます。

詳細はこちら(およびオンラインでお試しください)


2

いくつかの興味深い答え。ボーダーの下(または上)が必要なだけなので、ここに2つあります。あなたが3pxの太さの青い境界線が欲しいと仮定します。スタイルセクションに追加できます

.blueB {background-color:blue; height:3px} or
hr {background-color:blue; color:blue height:3px}

テーブルコードで

<tr><td colspan='3' class='blueB></td></tr> or
<tr><td colspan='3'><hr></td></tr>


1

CSSボーダー下部なし:

<table>
    <thead>
        <tr>
            <th>Title</th>
        </tr>
        <tr>
            <th>
                <hr>
            </th>
        </tr>
    </thead>
</table>

0

tr要素にボーダーを置くことはできません。これは私にとってFirefoxとIE 11で機能しました:

<td style='border-bottom:1pt solid black'>

trにボーダーを付けることはできません。これを明確にするために編集された回答。
Decko

これが最も簡単で正確な答えです。
JamesC

-3

HTML

<tr class="bottom-border">
</tr>

CSS

tr.bottom-border {
  border-bottom: 1px solid #222;
}

2
border-collapse:collapseがなければ役に立たない
m1crdy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.