欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css定位的区别

程序员文章站 2024-01-29 18:12:34
...
我在今年二月三日参加逆战班的学习,开始学习前端,目前学习了三周,想在这里总结一下关于定位position的知识点。
定位有五种形式,position:static;默认,position:relative;相对定位,position:absolute;绝对定位,position:fixed;固定定位,position:sticky;黏性定位。
四个定位偏移量:left、top、right、bottom,以像素为单位,意为从xx边偏移xx像素,也可以写百分比%,必须配合定位使用。

1、position:static;

static是position属性的默认值。如果不写position属性,该元素就是static定位。定位偏移量无效。

2、position:relative;相对定位

相对定位是相对于自身位置发生偏移,如果没有定位偏移量,对元素本身没有任何影响。相对定位不会使元素脱离文档流,偏移后原本位置依然占位,且不影响其他元素布局。这里偏移量不可以写百分比。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    	*{margin: 0; padding: 0;}
        #box1{width: 100px;height: 100px;background-color: red;}
        #box2{width: 100px;height: 100px;background-color: blue;position: relative; left: 100px; top: 100px;}
        #box3{width: 100px;height: 100px;background-color: green;}
    </style>
</head>
<body>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
</body>
</html>

css定位的区别
相对定位向左向下各偏移100像素

3、position:absolute;绝对定位

绝对定位是相对于离自己最近的有定位的祖先发生偏移,若没有祖先有定位属性,则相对于整个页面偏移,它使元素完全脱离文档流,影响其他元素布局。这里偏移量百分比是离自己最近的有定位的祖先的,将上述代码的相对定位换成绝对定位,偏移量不变,结果是:

css定位的区别

4、position:fixed;固定定位

固定定位是相对于整个浏览器窗口进行偏移,是固定在浏览器窗口的,不受浏览器滚动条和祖先元素的影响,即使页面滚动它也不会移动在窗口的位置。这里偏移量百分比是窗口大小的,它会使元素脱离文档流。

5、position:sticky;黏性定位

粘性定位与固定定位有相似之处,定位元素在没有到达页面指定位置的时候可以移动,初始位置是在浏览器默认的位置,在到达指定位置的时候就变成固定定位,在指定位置粘住。这里的偏移量百分比是窗口大小的,但是当祖先元素随滚动条滚动消失时 ,该元素会随祖先元素一同消失。