应该补充一点,如果浏览器默认设置属性,您可能需要解决。这在“现代”浏览器中似乎不是问题,但是,这是我见过的问题,因此请务必检查跨浏览器性能。
例如,我发现在 9 之前的 IE 中,为 Table 中的所有 TD 设置了 colSpan,因此任何单个单元格的隐藏 colspan 值为 1。
因此,如果您在 webdoc 中应用“任何带有 colspan 属性的 TD”,即使 td 没有设置 colspan 属性,例如任何 TD 是单个单元格,也会收到 css 样式。 IE 小于 9 基本上都会给它们设置样式!
担心这一点的唯一理由是所有无法升级到 IE8 以上的 XP 用户。
例如,我有一组表格,其中的内容可能会从头到尾移动,在结尾或开头留下 1 到 7 个单元格空白。
我想使用 colspan 属性在结尾或开头的任何空白单元格上应用颜色。
使用以下在 IE 小于 9 中不起作用
#my td[colspan] {background-color:blue;}
...所有 TD 都会被样式化(很有趣,因为条件属性样式在 IE 中被认为是优越的,但我离题了...)。
当我将 colspan 的值设置为“single”以用于我希望包含在样式方案中的任何单独单元格/TD 时,在所有浏览器中使用以下方法,但是它是“hack”并且不会正确验证...
#my td[colspan="single"] {background-color:blue;} /* 'single' could be anything */
#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”覆盖的条件样式更恰当地解决问题。这将是执行此操作的正确方法,请记住,您必须在此过程中从 IElt9 隐藏“正确构造的 css”,我认为唯一正确的方法是使用选择性样式表。
无论如何,我们中的大多数人已经这样做了,但无论如何,您仍然可以考虑并测试浏览器是否在没有看到自动属性时应用自动属性,以及它如何处理您在属性值样式上的其他正确语法。
(顺便说一句,colspan 恰好不在 css 规范中 [as of css3],所以这个例子不会引发验证错误。)