Html td的宽度属性未覆盖css宽度属性

Html td的宽度属性未覆盖css宽度属性,html,css,width,Html,Css,Width,我对此进行了大量的研究,但仍然无法理解这种行为的原因。我有一个指定了width属性的td元素,并且在css类中指定了width。但是css类中的宽度是反射的,元素的width属性不具有更高的优先级吗 示例代码: <table class="sample"> <tr> <td width="70%" class="cell">First cell</td> <td class="cell">Second cell<

我对此进行了大量的研究,但仍然无法理解这种行为的原因。我有一个指定了width属性的td元素,并且在css类中指定了width。但是css类中的宽度是反射的,元素的width属性不具有更高的优先级吗

示例代码:

<table class="sample">
  <tr>
    <td width="70%" class="cell">First cell</td>
    <td class="cell">Second cell</td>
  </tr>
</table>
我知道width属性已被弃用,不建议使用,我正在尝试理解该行为,因为我必须修复一个类似的问题,我有许多页面使用style td.cell,但我需要在一个页面中覆盖它,我可以选择一种方式的style属性,或者定义另一个样式类

当您写入
第一个单元格时,浏览器将解析
此行将生成一列,其属性为宽度。但是当你写的像

<td style="width:70%" class="cell">First cell</td>
只需在标记中写入宽度即可将其定义为属性。所以你的Css覆盖了这个

见此:-
这是您的问题的答案:-

来自

6.4.4非CSS表示性提示的优先级

UA可以选择尊重HTML源中的表示属性 文件。如果是,这些属性将转换为相应的 特异性等于0的CSS规则,并被视为 插入到作者样式表的开头。因此,它们可能是 被后续样式表规则覆盖。在过渡阶段,, 这一政策将使风格属性更容易共存 使用样式表


所以CSS样式总是比HTML中的表示属性排名靠前。

是的,这是可行的,但我需要的是问题中提到的行为的原因。如果有人能指出为什么它是正确的/错误的将是有益的。我已经提到了一个非常好的链接。。。通读答案,希望这能帮助你理解其中的区别。此外,我还将更新我的回答中的一些要点。嗨,普拉纳夫,非常感谢你提供的资源,它帮助我获得了良好的理解。我相信我会赢的。
<td style="width:70%" class="cell">First cell</td>
<table class="sample">
  <tr>
    <td style="width:70%" class="cell">First cell</td>
    <td class="cell">Second cell</td>
  </tr>
</table>
<table width="100%" class="sample">
  <tr>
    <td width="70%" class="cell">First cell</td>
    <td width="30%" class="cell">Second cell</td>
  </tr>
</table>
table.sample {
  border: 1px solid red;
}
td.cell {
  border: 1px solid black;
}