なぜスタイリング表の列が許可されていませんか?
-
12-09-2019 - |
質問
W3は4つしかCSSルールがテーブルに許可されていることをを指定しますカラム(<col>
要素を有する) - ボーダー、背景、幅及び可視
誰がこの決定の背後にある理由を知っていますか?あなたが国境や背景を持つことができるなら、なぜないフォントや色?
解決
イアンHixieは、ここでは詳細に説明しています唯一の4つのプロパティは、テーブルの列に適用される理由の謎>。関連引用ます:
テキストの色は、その要素の「色」プロパティに依存しています。指定されない限り、「色」プロパティ(基本的に)「親要素の値を取る」という意味「継承」、デフォルトます。
そこで細胞内のいくつかのテキストに、色はこれにテーブルの親から取得されたテーブルから取り出される行から取られる細胞、、、の「色」プロパティによって決定されます。
コラムについては何?まあ、列には、細胞の祖先の一つではないので、見た目インを取得することはありません!そして、その中に問題があります。
他のヒント
私の限られた理解に基づいて、暗闇の中でだけで野生の刺します:
私は、列に関連する要素を介したスタイリングは、(彼らは実際に<col>
sに含まれるている)<colgroup>
と<tr>
は、セルの列を表すためものの、それは実際にそれらが含まれていない制限されていると思います。 (複数の継承階層の同じレベルになります)<tr>
と<col>
から競合のスタイル規則が発生したとき - - そのはず、これは優先順位と特異性の問題に来て、(カスケーディングのみ含まれている/コンテナ要素の間で行うことができるので)カスケード付きセルは、実際に使う?
スタイル属性の特定の一握りはいえ許可されていない理由として:。全くわから
一言:曖昧。細胞は、行の子でなければなりません。それは、そうでない場合は、テーブルではないでしょう。しかしから派生する一切の列はありません。 colspan
を使用すると、1つのセルは2列になり得ることを意味しています。むしろうち、いくつかの混乱の方法を思い付くしようとするよりも、なぜ単に開発者は、すべてのn番目のセルにclass
を置かせない?
、あなたは曖昧性解消の試みが表示されます。 width
プロパティは、最小を指定します。 background
は、行とセルに後部座席を取ります。そしてborder
は「紛争解決のアルゴリズム」を参照しています。 border
のためにもアルゴリズムが存在する唯一の理由は、それが合理的に理解されているので(詳細はアルゴリズムを参照)、「勝つ」必要がある人です。しかし、あなたがcolor
またはfont
が「勝つ」べきかを把握しようと想像できる?
表の各行は、必ずしも(例えばためCOLSPANの)自分の列のセルを表示する必要がないので、おそらく。どの列そのセルから、それのスタイルを継承する必要がありますか?ただの推測ます。