一、CSS絕對定位與相對定位的區別
1、絕對定位和相對定位都可以控制元素在頁面上的位置,但二者的定位方式和影響範圍有所不同。
2、相對定位是相對於元素本身所在位置來進行定位,可以通過top、bottom、left、right屬性的設定來控制元素所在位置的偏移量,影響僅限於該元素所在的文本流中。
.box { position: relative; /*相對定位*/ top: 20px; left: 50px; }
3、絕對定位是相對於距離自身最近的已定位的祖先元素,如果不存在已定位的祖先元素,則相對於文檔的body元素來進行定位。可以通過top、bottom、left、right屬性的設定來控制元素所在位置的偏移量,影響範圍比相對定位更廣泛。
.box { position: absolute; /*絕對定位*/ top: 20px; left: 50px; }
二、相對定位、絕對定位和固定定位的區別
1、固定定位是指元素相對於瀏覽器視窗的位置進行定位,不會隨著滾動條的滾動而變化。
.box { position: fixed; /*固定定位*/ top: 20px; left: 50px; }
2、相對定位、絕對定位和固定定位在使用時需要注意以下幾點差異:
3、相對定位是相對於元素本身所在位置來進行定位,而絕對定位和固定定位是相對於祖先元素和瀏覽器視窗來進行定位,所以在使用時需要對祖先元素和瀏覽器視窗的大小進行適當的考慮。
.relative-box { position: relative; width: 400px; height: 300px; } .absolute-box { position: absolute; width: 200px; height: 200px; top: 50px; left: 50px; } .fixed-box { position: fixed; width: 200px; height: 200px; bottom: 50px; right: 50px; }
4、另外,相對定位、絕對定位和固定定位在文檔流中的位置也有所不同,相對定位不會改變元素在文檔流中的位置,但是絕對定位和固定定位會將元素從文檔流中拖出來,可能會對其他元素造成影響,需要進行一定的頁面布局規劃。
三、使用示例
.relative-box { position: relative; width: 400px; height: 300px; } .absolute-box { position: absolute; width: 200px; height: 200px; top: 50px; left: 50px; } .fixed-box { position: fixed; width: 200px; height: 200px; bottom: 50px; right: 50px; }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193535.html