首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么火狐会把align=的“中心”改为align=的“中间”?

为什么火狐会把align=的“中心”改为align=的“中间”?
EN

Stack Overflow用户
提问于 2017-08-27 02:03:55
回答 2查看 102关注 0票数 3

我知道img.align已弃用甚至是过时的,仍然..。Firefox正在改变我的属性值。尤其请参阅示例

代码语言:javascript
复制
const img = document.querySelector("img");
console.log("img.align:", img.align);
代码语言:javascript
复制
<img src="http://www.gravatar.com/avatar" align="center" >

结果:

  • 铬:img.align: center
  • 火狐:img.align: middle

知道为什么firefox会改变属性值吗?火狐还有其他属性值变化吗?

这对代码有影响,例如

代码语言:javascript
复制
document.querySelectorAll("img[align=center]")

它只在Firefox上失败,任何使用相同选择器的CSS都会失败;例如,img[align=center] { ... }

可能相关:我可以在HTML标记中添加自定义属性吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-27 04:58:00

知道为什么firefox会改变属性值吗?

因为middle是在RFC 1866 (HTML 2.0)HTML 3.2HTML 4中定义的正确值,而不是centeralign元素上的img属性从未将center作为可能的值,因为center历史上总是引用水平对齐(浮动),并且不能将图像浮动在线的中心。当时的其他实现,如IE,确实允许center作为一个可能的值,其含义与middle相同(参见Stefan的答案),因此我的猜测是,火狐在提供互操作的同时,仍然遵守标准,将值混在一起。

我不清楚Chrome为什么不这么做。在任何情况下,为了呈现的目的,它似乎都将center视为middle。但是,如果通过重写值Firefox破坏了属性选择器,我会认为这是一个缺陷(尽管他们可能不愿意修复,因为属性已经过时了)。

真正的问题是为什么MDN索赔 (唯一可能的值是leftrightjustifycenter )。当然,DOM二级规范包含对align属性的更精确的描述,尽管它没有列出可能的值,因为它们已经在HTML中列出了。

票数 3
EN

Stack Overflow用户

发布于 2017-08-27 02:58:32

html规范不知道img标记的对齐属性的值中心(但对于其他标记)。然而,火狐可能承认中心是价值(而不是其他无稽之谈),并接受它为中间,因为火狐和可能的其他浏览器已经在他们的生活中的某个时候这样做,根据这个相当古老的错误报告

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45901117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档