1、默认static
(1)static表示没有定位,或者说不算具有定位属性。
(2)如果元素 position 属性值为 static(或者未设 position 属性),该元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。设置 top,right,bottom,left 这些偏移属性不会影响静态定位的正常显示(设置这些属性没有用)。
2、相对定位relative
占据空间,相对于自身原有位置进行偏移,可能会覆盖其他元素。
例如:
top: 20px;// 向下移动20px
3、绝对定位absolute
不占空间,相对于最近的已定位的祖先元素, 有已定位(指position不是static的元素)祖先元素, 以最近的祖先元素为参考标准。如果无已定位祖先元素, 以body元素为偏移参照基准。
所以,父元素一般设置为相对定位
4、固定定位fixed
不占空间,相对于视窗来定位,这意味着即便页面滚动,它还是会停留在相同的位置。一个固定定位元素不会保留它原本在页面应有的空隙。
实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>四种定位的区别</title> <style> body { min-height: 150vh; } .container { width: 200px; height: 200px; background-color: #111111; } .main { /* 向下移动20px,覆盖了一部分right */ position: relative; top: 20px; width: 100px; height: 100px; background-color: red; } .right { width: 100px; height: 100px; background-color: green; } .container2 { position: relative; width: 200px; height: 200px; background-color: #111111; } .main2 { position: absolute; top: 20px; width: 100px; height: 100px; background-color: red; } #fixed { position: fixed; /* 页面居中*/ top: 50 right: 50 margin: -50px -50px 0 0 ; height: 100px; width: 100px; background-color: slateblue; text-align: center; } </style> </head> <body> <h2>相对定位</h2> <div> <div></div> <div></div> </div> <h2>绝对定位</h2> <div> <div></div> </div> <h2>固定定位</h2> <p>滚动条查看 固定定位 效果</p> <div id="fixed">固定定位的小框框</div> </body> </html>
以上就是CSS中四种定位的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!