沒有為 position absolute 元素賦予 left top 等值,與賦予 left 0 top 0 的效果為何不一樣?

時間 2021-06-03 03:41:21

1樓:陳竹之

今天剛好碰到這個問題,發現樓上的許多答案都頗有益處,我自己再總結乙個:

假設父元素position: relative; 有padding的狀態下:

如果有top/left:0 :子元素緊貼父元素padding的邊界(因為父元素包含塊的邊界就是padding邊界)

如果沒有設定值:子元素緊貼父元素content的邊界(其實此時值為auto)

2樓:鍾小正

因為position中的 left,right的預設值並不是0!!!所以當然不一樣了。

那麼預設值是多少呢?

可以這麼來理解:

在absolute未起作用前,元素有乙個位置(姑且稱之為「原來的位置」吧);absolute起作用後(沒有設定left、top的值)元素是要保持其「原來的位置」不變的,這樣就有left和top的預設值了(是多少不用管,反正預設值就是要讓該元素的位置和原來的位置一樣)。

記住兩點就好了:

1、position:absolute中的 left,top的預設值並不是0;

2、沒有設定left、top時,left和top的預設值將使元素的位置和「原來的位置」一樣。

3樓:Jiangming Chen

如果未定義left 和right,則預設值為auto。如果left或right的值為auto,則元素的頂端或者左邊(從左往右讀)要相對於其未定位前本來的頂端或左邊對齊。

4樓:顧軼靈

簡單來說,因為 left 和 top 的 initial value 非 '0',而是 'auto'。

複雜來說,要知道 'auto' 的具體效果,請看:

計算過程很複雜,想全整明白的話,就抽空看看好了。

5樓:張錚錚

是不是別的地方寫過這些元素了,比如div{left: 100px;} 這樣的話類選擇器沒寫就會使用div的,如果寫了就會覆蓋掉,結果自然不一樣

明白你的意思了,這個區別是父元素margin造成的,不寫left這些元素的時候位置是在margin內的左上角,而left:0和top:0是在包括margin的部分的左上角

你有沒有為自己做過決定

方言炸炸 每次我有拿不準的決定的時候,我都會使用GROW模型,GROW模型是約翰 惠特默在1992年提出的,現已成為企業教練領域使用最廣泛的模型之一。這個工具可以運用於他人也可以運用於自己。當然1對1輔導是最好的。基本的GROM模型來自於乙個決策四階段的模型英文縮寫,即Goal 目標 Reality...

有沒有為哪個綜藝節目哭過?

玍古人家 浪姐1孟佳被淘汰時,王霏霏的 為什麼,我不明白 所有姐姐中我最不想她被淘汰 王霏霏哭的比孟佳還慘還狠,孟佳看到王霏霏哭的慘不忍睹忍不住哭了我想到了十幾年的好姐妹,好閨蜜,我也哭了,看一遍哭一次,還倒回去看。打動人的一定是真情實感,一定是人性共通的。 不蹺二郎腿本人 不請自來 看到這個問題第...

你有沒有為了逃避現實?

葉秋 有過,比方說,小時候闖了大禍,具體事情不便多說,人總是這樣事發時不覺得什麼,等事發後才會考慮其後果。當時出了事根本不敢告訴家裡,想著逃避現實,跟家裡隱瞞。整天只能渾渾噩噩,心不在焉。後來,家裡人還是知道了,父母並沒有對我指責打罵,而是我父親用行動默默的幫我解決。看著父親乙個老兵,乙個一輩子正氣...