ブラウザがデフォルトで属性を設定する場合は、回避する必要があるかもしれないことを追加する必要があります。これは「現代の」ブラウザでは問題ではないようですが、これは私が見た問題なので、クロスブラウザのパフォーマンスを必ず確認してください。
たとえば、9より前のIEでは、colSpanがテーブル内のすべてのTDに設定されているため、単一のセルの隠しcolspan値が1であることがわかりました。
したがって、Webドキュメントで適用する「colspan属性を持つ任意のTD」をターゲットにしている場合、単一セルであるTDなど、colspan属性が設定されていないtdでもcssスタイルを受け取ります。IEが9未満の場合、基本的にすべてのスタイルが設定されます。
これを懸念する唯一の理由は、IE8を超えてアップグレードできない残りのすべてのXPユーザーです。
たとえば、コンテンツが端から端までシフトする可能性のあるテーブルのグループがあり、最後または最初のいずれかで1〜7個のセルが空白のままになっています。
colspan属性を使用して、最後または最初の空白セルに色を適用したいと思います。以下を使用すると、9未満のIEでは機能しません
#my td[colspan] {background-color:blue;}
...すべてのTDがスタイリングされます(条件付き属性のスタイリングはIEで優れていると思われるので面白いですが、私は余談です...)。
スタイリングスキームに含めたい孤立セル/ TDのcolspanの値を「single」に設定すると、すべてのブラウザで次のように機能しますが、「ハック」であり、適切に検証されません...
#my td[colspan="single"] {background-color:blue;}
#my td[colspan="2"] {background-color:blue;}
#my td[colspan="3"] {background-color:blue;}
#my td[colspan="4"] {background-color:blue;}
#my td[colspan="5"] {background-color:blue;}
#my td[colspan="6"] {background-color:blue;}
#my td[colspan="7"] {background-color:blue;}
または、「if lt IE 9」を使用して条件付きスタイルを設定することで、問題をより適切に解決できるはずです。これを行う正しい方法です。プロセスで「適切に構築されたcss」をIElt9から非表示にする必要があることを覚えておいてください。これを行う唯一の適切な方法は、選択的なスタイルシートを使用することです。
とにかく私たちのほとんどはすでにそれを行っていますが、それでも、ブラウザが自動属性を適用しない場合に自動属性を適用するかどうか、および属性値のスタイル設定のためにそれ以外の場合は正しい構文をどのように処理するかを検討してテストすることは十分です。
(ところで、colspanは[css3の時点で]まだcss仕様に含まれていないため、この例では検証エラーはスローされません。)
empty