IE8 中关于 colspan 属性的 bug

IE8 中关于 colspan 属性的 bug,第1张

概述IE8 认为所有的表格单元格都具有 colfont 属性。因此如果需要单独针对具有 colfont 属性的单元格设置样式,就有点棘手了。td[colfont],th[colfont] {/* 注意:不管单元格是否有 colfont 属性,在 IE8 中该样式一律是生效的even if they don't have a colfont */background: red;}你期…

ie8 认为所有的表格单元格都具有 colFont 属性。因此如果需要单独针对具有 colFont 属性的单元格设置样式,就有点棘手了。

td[colFont],th[colFont] {/* 注意:不管单元格是否有 colFont 属性,在 ie8 中该样式一律是生效的even if they don't have a colFont */background: red;}

你期望的结果可能是酱紫的:

但往往在 ie8 下,样式被应用到了所有单元格:

这个 BUG 仅限于 ie8 浏览器,ie7 和 IE9 都没有这个问题。ie6 本身并不支持属性选择器,就不说了。不但如此,ie8 还认为这个莫须有的 colFont 值为 1,因此以下选择器均无效。

th[colFont],th[colFont="1"],th[colFont*="1"],th[colFont^="1"],th[colFont$="1"],td[colFont],td[colFont="1"],td[colFont*="1"],td[colFont^="1"],td[colFont$="1"] {/* ie8 中所有可能出现问题的情况 */}

解决方案:

如果你确实需要使得该选择器能在 ie8 下正常工作,可以使用给 colFont 属性赋值的方法实现,但必须保证属性值不为 1,看起来有点糟糕,但的确是奏效的。

th[colFont*="0"],th[colFont*="2"],th[colFont*="3"],th[colFont*="4"],th[colFont*="5"],th[colFont*="6"],th[colFont*="7"],th[colFont*="8"],th[colFont*="9"],th[colFont*="11"] {/* styles */}td[colFont*="0"],td[colFont*="2"],td[colFont*="3"],td[colFont*="4"],td[colFont*="5"],td[colFont*="6"],td[colFont*="7"],td[colFont*="8"],td[colFont*="9"],td[colFont*="11"] {/* styles */}

英文原稿:IE 8 Thinks All table Cells Have a Colspan | css-Tricks
翻译整理:ie8 中关于 colspan 属性的 BUG | 芒果小站

总结

以上是内存溢出为你收集整理的IE8 中关于 colspan 属性的 bug全部内容,希望文章能够帮你解决IE8 中关于 colspan 属性的 bug所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1022347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存