HTML5 的 hidden="hidden" 和CSS的 display:none有什麼區別?
01-04
不管什麼情況,你知道一個原則就 OK 了:
HTML 是內容展示帶有語義,CSS 是界面樣式相關。
那麼 hidden 這個屬性,就表示與瀏覽者不相關、不重要,瀏覽器在解析的時候,既然不相關就直接隱藏掉了。如果你有些東西與用戶不相關,比如 提交信息的 input 等,就可以用 hidden。
display none 就是從界面、視覺上的隱藏。如果你需要臨時隱藏一些東西後面會再切換出來,比如 下拉菜單 等,就可以用 display none。因為它不是跟用戶不相關,只是目前還不能展示出來。hidden 表示該元素是不相關的、不需要的,這個含義是主要內容,「隱藏」的效果只是附帶。也許看上去跟 display: none 沒有任何區別,但是在我們不知道的地方,比如屏幕閱讀器或其他一切依賴語義的地方,可能就有它的價值體現。
更多信息可參考:hidden - HTML (HyperText Markup Language)推薦閱讀:
※overflow:hidden的問題?
※怎樣隱藏滾動條還能滾動頁面(包括滑鼠滾輪)?
※如何理解塊級格式化上下文BFC(block formatting context)?
※什麼情況下適合用 table+CSS 而不是 DIV+CSS ?
※CSS要怎麼寫才規範,提高可讀性?