Html中的position:absolute的意思


html中的“position:absolute”是絕對定位,一般配合“top”和“left”屬性同時使用。

1、新建html文檔,在body標簽中添加一個div,然后在這個div中再添加一個div,這時默認情況下內div在外div的左上角:

2、為內div添加“position”屬性,屬性值為“absolute”,外div添加“position”屬性,屬性值為“relative”,這時內div會向外div絕對定位:

 

3、為內div設置距離頂部距離屬性“top”和距離左側屬性“left”,這時內div會向外div做指定距離的定位:


1、“position:absolute”是絕對定位的意思,單純的使用absolute屬性並不會其效果,需要配合“top bottom left right ”屬性才能看到效果。首先需要新建一個html文件,這里定義了10個換行符,換行符的下面定義一個div:

2、此時保存文件,打開瀏覽器可以看到div在瀏覽器的下方位置,接下來來設置絕對定位,讓div顯示在任意位置:

3、給divc的class使用absolute屬性, 並使用上下左右位置屬性,設置向上和向左分別50px,接着保存文件:

4、再次打開瀏覽器,可以看到div的位置在瀏覽器上方,覆蓋了換行符的位置:


position:absolute
日常開發中經常涉及元素的定位,我們都知道,絕對定位相對於最近position不為static的父級元素來定位,但其中定位的位置還是有細微的差別的。

絕對定位根據left和top屬性來規定絕對定位元素的位置。
但這個位置實際上與padding和父級相對定位的box-sizing有關的。

* 默認盒子的box-sizing為content-box(即盒子所占據的寬度=width+padding

情況一: 正常盒模型box-sizing:content-box; 同時沒有top和left的情況

 

上圖:盒模型,在left和top沒有定義時,相對於父級定位元素的content(內容區width)定位

 

情況二: 正常盒模型box-sizing:content-box; 規定top和left的值

效果圖:

 

上圖:在定義了top和left屬性時,相對於父級元素的占位區定位(包含padding區域)

 

情況三:盒模型box-sizing:border-box; 沒有top和left的值

 

 

情況四:盒模型box-sizing:border-box; 同時規定top和left的值

 

 

綜上所述:
無論父級盒子是正常顯示還是以border-box顯示,在沒有規定left和top的屬性值時,都呈現在父級盒子的內容區(不包含padding)左上角
若規定了left:0;top:0;則統一相對父級盒子的左上角顯示(包含padding)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM