【问题标题】:Omitting pixel when using inline "width"使用内联“宽度”时省略像素
【发布时间】:2019-03-27 14:40:47
【问题描述】:

有点愚蠢的问题,但对我来说很重要。据我所知,在 HTML 中使用内联“width”属性时,允许省略“px”——除非使用百分比(“20%”),否则将自动理解为“20px”。我的问题是:即使不需要,使用“..px”是错误的吗?代码对我来说似乎更干净,它遵循与 CSS 相同的规则,至少但不是最后——它不会让我在任何时候看到它。 提前致谢。

【问题讨论】:

  • 你说的是属性宽度吧?适用于图像?
  • 是的。而且不仅如此。我也在谈论“高度”,以及 html 中可以接收像素值的所有其他内联属性。

标签: html css width inline pixel


【解决方案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>

【讨论】:

  • 所以我认为这并没有错——最好不要添加“px”。
猜你喜欢
  • 1970-01-01
  • 2013-07-24
  • 2015-03-11
  • 2016-10-11
  • 2012-09-20
  • 2010-11-08
  • 2012-05-10
  • 1970-01-01
  • 2018-10-28
相关资源
最近更新 更多