關於子元素(如div)在父元素(如div)中的定位問題:
假設現有html**如下
class="div1">
class="div2>
test
想讓div2在div1中實現底部居中的效果,查詢資料發現關鍵步驟(css)是
div
.div2
在一篇文章看到以下內容,解釋得很清楚
position:absolute 元素相對最近的 position 為 absolute / relative / fixed 的祖先元素(包含塊)定位,如果沒有這樣的祖先元素,則以初始包含塊進行定位,而初始包含塊並不是以或進行定位的。
w3c關於包含塊及初始包含塊的定義
測試如下:
lang="en">
charset="utf-8">
position:absolutetitle>
head>
type="text/css">
html
body
divstyle>
body
divdiv>
body>
html>
body新增position:relative;
div新增 bottom:0;
效果如下:
html新增position:relative;
div新增 bottom:0;
效果如下:
body和html都不進行定位,div設定bottom:0;
此時效果如下:
所以,當絕對定位元素的祖先元素都沒有進行relative/absolute/fixed定位時,是相對於初始包含塊來定位的,而初始包含塊並不是以或進行定位的。
關於absolute和relative 的一些簡介
position absolute 他的意思是絕對定位,他是參照瀏覽器的左上角,配合top right bottom left 下面簡稱trbl 進行定位,在沒有設定trbl,預設依據父級的做標原始點為原始點。如果設定trbl並且父級沒有設定position屬性,那麼當前的absolute則以瀏覽器...
關於子元素的margin top影響父元素
來看看這個問題 子元素為什麼設定margin top會影響父元素的margin top。先把html,body,div的預設margin,padding設為0,再給父元素設定寬高,子元素設定寬高。然後又設定子元素的margin top為20px。效果如下 查了下,簡單來說是因為父元素沒有設定padd...
JS獲取元素的子元素
1li 2li 3li 4li ul 選取上面結構裡面的li ul li nth child 1 選取第乙個li ulli nth child odd 選取偶數 ulli nth child even 選取奇數 ulli nth child 3n 1 選取3n 1個元素 由於ie8不支援這種選擇器的...