css3 - 父級(jí)元素為fixed定位下,子元素絕對(duì)定位問(wèn)題
問(wèn)題描述
jsfiddle鏈接:https://jsfiddle.net/md4ro30u/疑問(wèn)一:為什么要在second的CSS中顯式的寫(xiě)出overflow:scroll,不寫(xiě)這條屬性無(wú)法顯示所有的first塊?疑問(wèn)二:在second加上overflow:scroll屬性的條件下,third的絕對(duì)定位bottom:10px為什么是相對(duì)于當(dāng)前瀏覽器窗口絕對(duì)定位而不是出現(xiàn)在最底部(滑動(dòng)條拉到最底部)相距10px的位置?
問(wèn)題解答
回答1:我覺(jué)得對(duì)于疑惑一的解答應(yīng)該是:
overflow 屬性的默認(rèn)值為 visible(對(duì)溢出內(nèi)容不做處理,內(nèi)容可能會(huì)超出容器。)
由于second你使用 fiexed定位,并占滿整個(gè)窗口,所以即使溢出部分你也看不到。只有加上overflow:auto|scroll之后,如果有溢出才會(huì)出現(xiàn)滾動(dòng)條。
回答2:疑問(wèn)一:overflow:scroll只在塊元素指定了固定的高寬才會(huì)出現(xiàn)滾動(dòng)條,見(jiàn)demo:demo second并沒(méi)有固定高寬,其大小是靠子元素?fù)伍_(kāi),所以overflow:scroll對(duì)其沒(méi)有影響。疑問(wèn)二:third是相對(duì)于second定位,而不是當(dāng)前瀏覽器窗口。絕對(duì)定位的相對(duì)元素是最近一個(gè)已經(jīng)定位的父元素,如果沒(méi)有,則相對(duì)于body。
absolute Do not leave space for the element. Instead, position it at a specified position relative to its closest positioned ancestor or to the containing block. Absolutely positioned boxes can have margins, they do not collapse with any other margins.
position
