Position有四个属性值用来确定定位方式分别是:static(静态定位,position默认值);absolute(绝对定位);relative(相对定位);fixed(固定定位);sticky(粘性定位)。
用法:
absolute(绝对定位)根据父元素定位使用 left right top bottom指定的坐标
</head> <style> *{ margin:0; padding:0; } .box{ width:400px; height:200px; background:red; margin:50px auto; /* 形成参照物 */ position:absolute; } .box p{ width: 200px; height:100px; background:yellow; /* 根据父元素的定位进行位置的变化 */ position:absolute; left:20px; top:50px; } </style> <body> <div class="box"> <p>子元素</p> </d
relative(相对定位)根据自身的默认位置使用 left right top bottom指定的坐标且占据空间不会破话文档流。
<style> *{ margin:0; padding:0; } .box{ width:400px; height:200px; background:red; } .box p{ width: 200px; height:100px; background:yellow; /* 根据自身默认位置进行位置的变化 */ position:relative; left:20px; top:60px; } </style> <body> <div class="box"> <p>子元素</p> </div> </body> </html>
fixed;(固定定位)参照浏览器窗口调整位置,脱离整个文本流。
<style> *{ margin:0; padding:0; } .box{ width:400px; height:200px; background:red; } .box p{ width: 200px; height:100px; background:yellow; /* 根据浏览窗口进行位置的变化 */ position:fixed; left:50%; top:100px; } </style> <body> <div class="box"> <p>子元素</p> </div>
Sticky(粘性定位)是relative和fixed的结合,在窗口内执行relative,超出按fixed执行。一般用于吸住顶部。
<style> *{ margin:0; padding:0; } .box{ width:400px; height:200px; background:red; } .box_t{ background:purple; } p{ background:yellow; margin:0 auto; position:sticky; top:0; } </style> <body> <div class="box"></div> <p>吸顶</p> <div class="box_t"> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2> <h2>12344</h2>
2020-02-22
来源:https://www.cnblogs.com/ylyblogs/p/12344751.html