博客列表 >CSS-03相对与绝对定位

CSS-03相对与绝对定位

移动用户-7131521
移动用户-7131521原创
2021年08月19日 12:13:11806浏览

相对定位与绝对定位

关于定位在html中有个值就是position,有这个属性对应的值来决定是相对还是绝对定位
position 的四个值:、relative、absolute、fixed。

  • static:默认值 就是没有定位
  • relative:相对定位
  • absolute:绝对定位

俩者区别实战演示

我们可以先看下面的例子 ,初始代码如下:
style模块代码

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. .box {
  8. background-color: seagreen;
  9. height: 100px;
  10. }
  11. .box1 {
  12. background-color: lightblue;
  13. height: 100px;
  14. }
  15. .box2 {
  16. background-color: red;
  17. height: 100px;
  18. }
  19. .box3 {
  20. background-color: white;
  21. height: 100px;
  22. }
  23. .box4 {
  24. background-color: yellow;
  25. height: 100px;
  26. }
  27. </style>

html代码如下:

  1. <body>
  2. <div class="box">he,wolrd</div>
  3. <div class="box1">he,wolrd</div>
  4. <div class="box2">he,wolrd</div>
  5. <div class="box3">he,wolrd</div>
  6. <div class="box4">he,wolrd</div>
  7. </body>

原始图运行效果如下:

相对定位

相对定位简单理解:相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局,这里我们会用到position:relative;
我们可以尝试改动下第二个盒子 也就是改动类值为box1在style中的代码 其它代码不变,添加相对定位属性设置一些宽高 代码如下:

  1. .box1 {
  2. background-color: lightblue;
  3. height: 100px;
  4. position: relative;
  5. left: 50px;
  6. top: 50px;
  7. }

运行效果如下图:

绝对定位

绝对定位简单理解:元素会脱离文档流,如果设置偏移量,会影响其他元素的位置定位,这里我们会用到position:absolute
实际上设置了绝对定位,元素在没有定义宽度的情况下,宽度由元素里面的内容决定 给大家演示这里设置 我们变更第五个盒子为绝对定位,改动.box4代码如下:

  1. .box4 {
  2. background-color: white;
  3. height: 100px;
  4. position:absolute;
  5. }

运行效果最后一个盒子的背景色实际宽度有内容来决定,如图:

绝对定位 absolute原理剖析

1.在父元素没有设置相对定位或绝对定位的情况下,元素相对于根元素定位(即html元素)(是父元素没有)。

现在给box4偏移值来验证:

  1. .box4 {
  2. background-color: yellow;
  3. height: 100px;
  4. position: absolute;
  5. left: 80px;
  6. top: 80px;
  7. }

运行后效果如图:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议