overflow有問題嗎?沒問題。那為什麼說要慎用呢?因為有時會導致一些問題。。。
關於overflow:auto的,很多人貪他書寫方便,直接用來清除浮動。但是Firefox使用overflow:auto會產生focus,引用網友fireyy的評論
我想這是FF浏覽器的一個“可用性和親和力”(usability/Accessibility)的設定,當設定了overflow:auto或者 overflow:scroll的元素不能完全顯示內容的時候(出現滾動條),針對於鍵盤使用者,就可以focus到那個元素,使用鍵盤的方向鍵去控制局部的滾動。
那用關於overflow:auto清除浮動有什麼問題呢?當你鼠標壞掉時,用鍵盤按Tab鍵去網上看新鼠標時就會發現,按了N+N下Tab鍵都到不了想要到的鏈接,因為overflow:auto太多了。XD 想想老外為什麼要寫那樣復雜的clearfix吧,難道他們的研究會比我們少嗎?
那關於overflow:hidden呢?本來它是沒問題滴,可是我們偉大的M$不喜歡它,早在04年POPO發現overflow:hidden會導致中鍵失效。
如果定義了嵌套區塊元素(比如<div> )的overflow溢出樣式,在這個區塊上方,鼠標中鍵將失效,這主要是存在於IE中, Mozilla/Firefox/Opera普遍使用自定義的mouse guesture,所以不存在這個問題或者根本就談不上這個問題。比如用IE浏覽Plod的時候,在中間內容部分按鼠標中鍵(假設你的鼠標有中鍵),那個上下滾屏箭頭沒有出現吧……
中鍵的功能估計用得比較少,一般出現N+N屏的頁面,才會用中鍵來快速拉動,例如用IE6打開163(不知道改掉了沒^^)試一下,雖然IE6裡那個不可愛的四角樣子比較難看,但是也不能因為它樣子有問題就把它去掉,哪怕你是不小心的。因為真的有人會用到,上次跟一個做論壇的朋友有討論到這個問題,是普通網友提到的。要是導致別人以為中鍵壞了可就不好^^。順便說下,你們大膽用,因為我裝了羅技的鼠標驅動,中鍵功能已經更新,就算IE也米問題。再再順便說下,Firefox的中鍵那個圖可以定制。XD
這些細小的問題可能你認為影響並不大,的確,它的影響並不大,可是Web標准本身的意義是什麼呢?