HTML中的定位


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <style type="text/css">
        body{
            height: 10000px;
        }
        div{
            width: 100px;
            height: 100px;

        }
        #guDing{
            background: lightblue;
            position: fixed;
            left: 500px;
            top: 200px;
        }
        #xiangDui{
            background: lightpink;
            position: relative;     /*相对定位不会脱离原先的文档流*/
            left: 100px;
            top: 100px;
            
        }
        #jueDui{
            background: lightgreen;
            position: absolute;   
            left: 100px;
            top: 100px;
            
        }
    </style>

</head>
<body>
    <div id="guDing"></div>
    <div id="xiangDui"></div>
    <div id="jueDui"></div>
    <!-- 定位
    1.相对定位:相对于原本的位置(依然会占据原来的空间)8像素
    2.绝对定位:相对于离他最近的已定位父级定位(html)已定位(该父级没定位就往上一层一层找)
    3.固定定位:相对于浏览器定位

     -->
</body>
</html>

相对定位:

页面效果如下

1.相对定位:相对于原本的位置(依然会占据原来的空间)8像素
如果不加
position: relative;

效果如下

 

但是有8px的间距

 

 

检查如下

 

如图所示 8px是固定的Margin造成的

 

 

绝对定位

页面效果如下

 

2.绝对定位:相对于离他最近的已定位父级定位(html)已定位(该父级没定位就往上一层一层找)
绝对路径此时div jueDui离他最近的父元素是body
但是body没有进行定位
那就
一层一层的往上找
最后是根据浏览器绝对定位

而div jueDui 和 div xiangDui 为什么不重合呢?

解释如下
如图

如图所示 8px是固定的Margin造成的

所以不重合

   相对定位不会脱离原先的文档流      只要不默认margin为0 相对定位会一直多出8px

  

固定定位

代码如下

  #guDing{
            background: lightblue;
            position: fixed;
            left: 200px;
            top: 200px;
        }
  3.固定定位:相对于浏览器定位

页面效果如下

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM