父元素不能是position:absolute;或者relative?為什么?
老師,您好!有個問題,就是,既然說ul是無依賴的,但是為什么針對其父元素
, 設置position:absolute;或者position:relative;之后,原來可見的ul就不可見了,事實上,位置還是在的,僅僅是看不見內容。請老師答疑解惑。默認的父元素應該是position: static。在其他的position條件下,需要設置一定的高度才能顯示ul的內容。請老師再解釋一下。
老師,您好!有個問題,就是,既然說ul是無依賴的,但是為什么針對其父元素
, 設置position:absolute;或者position:relative;之后,原來可見的ul就不可見了,事實上,位置還是在的,僅僅是看不見內容。請老師答疑解惑。默認的父元素應該是position: static。在其他的position條件下,需要設置一定的高度才能顯示ul的內容。請老師再解釋一下。
2015-10-05
舉報
2016-10-04
查閱了很多資料,
這里其實是 ul元素的包含塊(containing block)問題 。
containing block定義:
overflow屬性
現在再看樓主的問題:
一開始ul的父元素并沒有設置position的值,ul元素的包含塊為根元素,ul父元素上的overflow:hidden對其不生效。
當ul的父元素上設置了非默認的position值之后,ul元素的包含塊變為ul的父元素,此時overflow:hidden屬性對ul生效
這里有一些overflow屬性失效的詳盡演示,大家可以對照著看一下
http://www.cnblogs.com/xiaohuochai/p/5289653.html#anchor3
2016-02-14
我看糊涂了