2017-08-27 54 views
3

我知道img.aligndeprecated甚至是過時的,但是...... Firefox正在改變我的屬性的值。特別是看到例如爲什麼firefox將align =「center」改爲align =「middle」?

const img = document.querySelector("img"); 
 
console.log("img.align:", img.align);
<img src="http://www.gravatar.com/avatar" align="center" >

結果:

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

任何想法,爲什麼火狐改變的值屬性?是否有其他屬性值的Firefox更改?

這有一個像

document.querySelectorAll("img[align=center]") 

在Firefox(只)等將任何CSS使用相同的選擇器出現故障代碼的影響;例如,img[align=center] { ... }

可能相關:Can I add custom attribute to HTML tag?

+0

比這還糟糕。 [至少已經過了一年以上](https://www.w3.org/TR/html52/obsolete.html#non-conforming-features) – Rob

+0

很好的知道,但與我的問題無關 – gman

+0

IMO this is一個有趣的(?)事實,但不是一個很好的stackoverflow問題。這裏的人**不能**知道答案,除非他們是這個特徵的作者=>基於 – smnbbrv

回答

3

任何想法爲什麼Firefox會更改屬性的值?

由於middleRFC 1866 (HTML 2.0)HTML 3.2HTML 4,不center定義的正確的值。 img元素上的align屬性從未具有center作爲可能的值,因爲center在歷史上始終稱爲水平對齊(浮動),並且不能將圖像浮在行的中心。當時其他的實現,如IE,允許center爲具有相同含義的可能值middle(見斯特凡的答案),所以我的猜測是,Firefox是提供互操作,同時還通過走樣堅持標準值。

我不清楚Chrome爲什麼不這樣做。無論如何,它似乎將center視爲middle以用於呈現的目的。但是,如果通過重寫Firefox的屬性選擇器的價值,我會認爲這是一個缺陷(雖然他們可能不傾向於修復,因爲該屬性已過時)。

真正的問題是,爲什麼MDN claims,唯一可能的值是leftrightjustifycenterDOM level 2 spec當然包含對align屬性的更準確的描述,儘管它沒有列出可能的值,因爲它們已經在HTML規範中列出。

+0

我想知道firefox隨機更正的其他屬性 – gman

1

html specification不知道爲的img標籤的align屬性值中心的(但對於其他標記)。不過,Firefox可能認識中心的價值(而不是其他廢話),並接受它作爲中間因爲Firefox和其他可能的瀏覽器已經做到了這一點在他們的生活中根據本rather ancient bug report