Iは適切な境界半径の特性表の最初の行を与えることを意味する以下のセレクタ、ました:セレクタは、単に孫の代わりに孫の子供たちを見ていますか?
table.alt tr:first-of-type > *:first-of-type { border-radius: 5px 0 0 0 }
table.alt tr:first-of-type > *:last-of-type { border-radius: 0 5px 0 0 }
table.alt tr:first-of-type > *:only-child { border-radius: 5px 5px 0 0 }
アイデアは、それが表頭にあったかどうか、現れた最初の何行可能にするましたまたは表の本体を、左上および右隅に必要なボーダー半径で適切に定形化する必要があります。私はthead
/tbody
/tfoot
の部分を除外して、テーブルにある最初のテーブル行を検索することを望んでいましたが、そうではないようです。 thead
/tbody
/tfoot
のそれぞれの最初のテーブル行を個別に一致させたいと考えています。だから、もっとこのようにセレクタを実行していることが表示されます。
table.alt > * > tr:first-of-type > *:first-of-type { border-radius: 5px 0 0 0 }
table.alt > * > tr:first-of-type > *:last-of-type { border-radius: 0 5px 0 0 }
table.alt > * > tr:first-of-type > *:only-child { border-radius: 5px 5px 0 0 }
これは簡単に*:not(tfoot)
を使用してテーブルのフッターのために固定することができますが、thead
とtbody
要素の間に差別の問題がまだあります。 私のテーブルのほとんどのは、ではなく、すべてのテーブルのヘッダーを持っています。
このジレンマを回避する方法はありますか、またはテーブルのすべてのコーナーにborder-radiusを適用するためのより良い方法はありますか?
注:私はすべての表のセルに背景色を適用するので、外側の表の境界線の半径と重なっています。また、th
またはtd
と一致するように、最後のセクションで*
を使用します。