CSS 不能覆蓋 input[type=hidden] 的 'display' 值

今天貘大在 TTWF 一開始不務正業,倒是發現了一個很有趣的現象:

  <input type="hidden"> 不管怎麼設 'display' 都不會顯示

然後在 Opera 跟 Firefox 下,getComputedStyle 一定會是 'none',倒是
WebKit IE 是維持非 'none' 的層疊結果。

HTML 規範有這樣的一句話[1]:

  # 不管 CSS 規則為何,本規範預期使用者代理強制將腳本啟用的 noscript 元
  # 素的 'display' 屬性計算為 'none'。

所以我建議貘大給 HTML 規範報個錯,也真的報出去了[2]。


貘大好像提了一點 CSS、HTML 交纏在一起不好之類的東西,但是我記不得了。


後來看到做無障礙的人也在討論是不是有 'hidden' 屬性的元素也不應該能被 CSS
改掉[3]。大家對這個問題有什麼想法嗎?

[1] http://www.w3.org/html/ig/zh/wiki/HTML5/rendering#hidden-elements
[2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=19648
[3] https://www.w3.org/Bugs/Public/show_bug.cgi?id=19277


以上
Kenny
-- 
Web Specialist, Oupeng Browser, Beijing
Try Oupeng: http://www.oupeng.com/

Received on Sunday, 21 October 2012 16:18:49 UTC