使用内联“宽度”时省略像素

时间:2018-10-23 11:15:49

标签: html css width inline pixel

一个愚蠢的问题,但对我来说很重要。据我所知,在HTML中使用内联“宽度”属性时,允许省略“ px”-除非使用percent(“ 20%”),否则将自动理解为“ 20px”。我的问题是:即使不需要使用“ .px”,这是否错误?该代码对我来说似乎干净得多,它遵循与CSS相同的规则,但至少没有那么持久-每次查看它都不会打扰我。 预先感谢。

1 个答案:

答案 0 :(得分:1)

在HTML 4或更早版本的规范中,这从未被完全声明,但是所有支持width和相关表示属性的HTML DTD都没有对%Pixels值施加任何限制-它们只是在散文中声明它们应该是整数,但在DTD中定义为CDATA:

<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->

因此,从技术上讲,这不是错误,实际上您可以放置​​任何想要的东西,并且

  1. 它仍然可以针对HTML 4 DOCTYPE进行验证;和
  2. 浏览器只会将属性值解析为整数或百分比。

以下所有功能在功能上都是等效的,生成的表宽为200 CSS像素(因为没有一个值可以解析为百分比):

<table border="1" width="200"><tr><td><code>width="200"</code></table>
<table border="1" width="200px"><tr><td><code>width="200px"</code></table>
<table border="1" width="200abcd"><tr><td><code>width="200abcd"</code></table>
<table border="1" width="200x10px"><tr><td><code>width="200x10px"</code></table>