2010-08-26 108 views
9

我有一個div,用於在需要時顯示警報。CSS display:none and visibility:hidden

如果我想在一段時間後關閉它,我可以使用display:none或者我應該使用display:none以及visibility:hidden?

所以一方或雙方。

謝謝。

+0

顯示:沒有隻將工作得很好 – Tommy 2010-08-26 11:30:46

回答

18

取決於。如果您需要留空白空間,也就是說,該空間不會被其他下方或周圍的元素佔用,您需要visibility: hidden。否則,使用display: none,這將允許其他元素移動到元素的位置。

沒有理由同時使用兩者。

6

可見性:隱藏隱藏元素,但它仍佔用佈局中的空間。顯示:沒有完全刪除它。

在你的情況,我會用顯示:無

+1

沒有顯示:隱藏,有visibility:hidden的:) – Sotiris 2010-08-26 11:33:45

+0

這就是我得到的打字之前咖啡!感謝您的收穫,我更新了我的文章。 :) – Chuck 2010-08-26 12:03:32

6

如果您隱藏的內容應該是可訪問—那些與屏幕閱讀器,例如—那麼你不應該使用display: nonevisibility: hidden,因爲兩者有可能隱藏屏幕閱讀器的內容。相反,您應該使用更易於訪問的方法,例如將內容移出屏幕並留下負值。請參閱以下鏈接瞭解更多信息:

456 Berea Street: Hiding with CSS: Problems and solutions
WebAIM Blog: Hiding content for screen readers

+1

只是好奇,但爲什麼你想要隱藏的內容,但仍然可以訪問屏幕閱讀器?如果它隱藏,那是因爲我目前不想顯示它。 – Maverick 2014-03-21 02:59:14

+1

@ MrN00b您可能出於審美原因隱藏內容,例如用戶可以隱藏或顯示的可摺疊部分。 – Mike 2014-03-23 11:12:30

相關問題