我正在玩臉書的流中的螢火蟲,我注意到「更新選項」菜單(當您將鼠標懸停在它上面時出現在更新右上角的向下箭頭按鈕)的風格有趣。在我看來,他們通過設置margin-left:-9999px來隱藏該菜單,並通過用margin-left:auto覆蓋此菜單來顯示它們。我不能想到這樣做的原因,而不是顯示:無。這樣做有什麼理由嗎?爲什麼Facebook使用margin-left:-9999px來隱藏元素?
3
A
回答
5
這是一個無障礙的東西。文本與顯示:無也不顯示在屏幕閱讀器上。你可以在CSS in Action: Invisible Content Just for Screen Reader Users上閱讀。
相關問題
- 1. 爲什麼使用-9999px
- 2. 爲什麼要隱藏HTML元素?
- 3. 爲什麼隱藏邊欄元素?
- 4. 使用什麼HTML元素來保存隱藏值
- 5. 爲什麼jQuery UI隱藏隱藏父元素?
- 6. 使用CSS來隱藏非錨元素
- 7. 爲什麼我不能使用jQuery隱藏點擊元素?
- 8. 爲什麼我不能使用JQuery隱藏和顯示元素?
- 9. 使用隱藏的輸入值來顯示或隱藏元素
- 10. 隱藏元素使用Javascript
- 11. 隱藏元素點擊隱藏元素
- 12. 使用jQuery隱藏元素;我應該使用哪種方法?爲什麼?
- 13. 你如何通過抵消-9999px左邊來隱藏/顯示div?
- 14. 隱藏元素
- 15. 隱藏元素
- 16. 隱藏元素
- 17. 爲什麼Animate marginLeft不起作用?
- 18. MarginLeft不起作用:爲什麼?
- 19. 爲何隱藏新元素附加到的舊元素時隱藏新元素?
- 20. 僅使用CSS3顯示/隱藏元素 - 爲什麼這不起作用?
- 21. 爲什麼使用隱藏字段?
- 22. 爲什麼溢出:隱藏不隱藏?
- 23. 打印時爲什麼頁面元素不會隱藏?
- 24. 爲什麼過濾器隱藏了所有的元素?
- 25. 爲什麼陰影隱藏在元素移動
- 26. 爲什麼這個奇怪的符號在隱藏的元素
- 27. 爲什麼我的隱藏元素不會顯示與jquery show()?
- 28. 爲什麼隱藏的表單元素仍然被JAWS讀取?
- 29. 爲什麼jQuery在顯示/隱藏元素時刪除邊距?
- 30. 爲什麼JQuery':not'選擇器仍然隱藏所有元素?
因爲我不是Facebook,我只能推測,但它可能是一種避免使用'display:none'來避免可訪問性問題的方法,它使得屏幕閱讀器假裝它甚至不在DOM中。 – Rodaine 2012-02-22 18:45:10