2012-04-02 63 views
2

我正在試用本教程codeplay simple navigation with hover。我無法理解爲什麼從本教程的.navigation類中刪除overflow: hidden;屬性更改背景顏色?這個屬性不涉及向用戶提供滾動條的決定,或者在框中的文本溢出的情況下。爲什麼在這個例子中移除overflow屬性會改變背景顏色?

+0

它不會更改'background-color'。如果浮動元素具有非浮動父元素,則父元素將摺疊。查看[這個SO問題](http://stackoverflow.com/q/218760/681807)和這個[Clearing Floats article](http://www.quirksmode.org/css/clearing.html)以獲取更多信息和解決這個崩潰的其他解決方案 – 2012-04-02 14:17:22

回答

0

這是因爲li元素是浮動的。在浮動元素的包裝上設置除visible之外的overflow會導致包裝器真正「包裝」元素(否則,它不會識別它們並且其高度變爲零)。

overflow允許不使用clearfix或其他一些方法讓封裝包裝浮動。 *如果您想將overflow設置爲visible,則需要某種類型的clearfix以使.navigation獲得高度並將li元素包裹在其中。