position : absolute;
left : 10px || 10% || auto
默認(rèn)值:auto
left right的百分?jǐn)?shù)相對于包含塊的寬度
top bottom 相對于包含塊的高度
定位是相當(dāng)于最近的非static祖先元素或者根元素
在left right都聲明的情況下:
計(jì)算公式 left+margin-left+border+width+padding+margin-right+right=包含塊width+padding
下面只深入解析left right都聲明的情況
①定位元素沒指定寬度,指定了left和right蝇更,沒指定margin
元素在包含塊水平居中,width被拉伸
②定位元素沒指定寬度遵蚜,指定了left和right,指定了margin
如果左右margin都為auto寞钥,和第一種情況是一樣的慌申,如果有一個(gè)為auto,另一個(gè)為某個(gè)值,為auto的會為0理郑,width拉長蹄溉。
③定位元素指定了寬度,指定了left和right您炉,沒指定margin
right會失效柒爵,重新計(jì)算
④定位元素指定了寬度,指定了left和right赚爵,指定了margin
如果margin都為auto,兩margin會拉伸并相等棉胀,讓等式滿足。
如果只有一個(gè)為auto,為auto的會自動拉升(必須顯示聲明)
如果只有一個(gè)margin顯示聲明為定值冀膝,另一個(gè)沒聲明唁奢,right會重新計(jì)算。
如果只有一個(gè)為auto,另一個(gè)沒聲明窝剖,margin會拉伸以滿足等式麻掸。
綜上 ,聲明了width的枯芬,width永不會變论笔,沒聲明width,width會盡量變現(xiàn)得長一點(diǎn)。
垂直方向和水平規(guī)則是一樣的千所。
過度受限時(shí)狂魔,會重新計(jì)算bottom.
left right top 為auto時(shí)是與其假設(shè)為靜態(tài)時(shí)的位置對齊的。 bottom不行