【发布时间】:2016-04-21 10:00:52
【问题描述】:
我的问题是我需要下面的代码 sn-p 才能工作,但由于某种原因,内部样式表的元素样式 (img {height: !important;}) 覆盖了 img 标记 (style="height:200px;) 上的内联样式。 为什么?
我是在 CSS 顺序还是处理和继承上弄错了?我还缺少其他东西吗?
代码示例
img { height:auto !important }
<img src="https://placehold.it/200x200" width="200" height="200" align="left" border="0">
<img src="http://placehold.it/1x1" height="200" width="9" alt="" align="left" border="0" style="height: 200px;">
<p>Lorem Ipsum cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras tortor turpis, iaculis eu convallis a, pellentesque vitae enim. Fusce commodo vehicula nulla, sit amet congue lacus adipiscing a. Vivamus at convallis nibh. Proin felis turpis, aliquet eu arcu aliquam, accumsan consectetur justo. Vestibulum sit amet arcu quis neque gravida vulputate ut quis sem. Curabitur a metus lacus. Mauris non dolor vitae massa viverra lobortis ut convallis diam. Fusce eu tempor dolor, vitae imperdiet ipsum.</p>
其他说明
我知道我可以将 !important 添加到 img 以使其正常工作,但为什么我必须这样做?
我也知道这不是 理想 代码,align 已被弃用。但是最终媒体是 HTML 电子邮件,所以我需要使用不太理想的代码。
【问题讨论】:
-
可能值得您花时间查看 w3 规范的特异性,因为它使用数字系统来确定覆盖:w3.org/TR/css3-selectors/#specificity。据我了解,
!important将覆盖 any 其他样式,直到找到具有相同或更高特异性的声明,该声明也具有!important。
标签: css css-selectors css-specificity