定位

在css使用position属性实现网页的定位技术,它有四个值

  position:static/ relative /absplute/ fixed

    static是默认值,标签会显示在正常的文档流中

    使用另外三个值可以让一个标签变成定位元素

    可以使用CSS的top、right、left、bottom四个属性精确控制标签在html文档中任意位置

relative 相对定位

  

HTML

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link href="main.css" rel="stylesheet" type="text/css">
</head>
<body>
    <div class="d-normal">d-normal</div>
    <div class="d-position">d-position</div>
    <div class="d-normal">d-normal</div>
</body>
</html>
.d-normal{
    border:5px solid green;
    margin: 10px;
    height: 50px;
}
.d-position{
    border: 5px dotted red;
    margin:10px;
    height:50px;
}

  当我们把d-position设置成了relative  那么这个div就变成了相对定于元素,我们可以给他设置left、top、....属性

 当我们设置left:10px;时 这个元素相对原来的位置向右偏移了10px

 当我们设置了right:10px时 这个元素相对于原来的位置向左偏移了10px

相对定位:

  1.   标签显示在正常的文档流中
  2.   其他元素的位置不受影响
  3.   可以使用top、left、right、bottom这些定位元素属性,是这个标签相对于原来的位置偏移显

   

absolute绝对定位

  1.   其他元素的忽略绝对定位元素
  2.   标签不显示在正常的文档流中
  3.   使用top.left、right、bottom属性对元素偏移定位

  

  • 默认情况下绝对定位是以整个浏览器为基准
  • 除非他有一个父标签是定位元素
  • 把d-parment设置为position:relative;d-absolute就会绝对定位到父标签右下角

 

fixed固定定位

  1.   无论用户怎样拖拽浏览器上的滚动条
  2.   这个区域都不会跟着移动

定位元素的前后位置:Z-Index

  如果我们没有为他们设置z-index属性

  或者为他们设置了相同的z-index属性

  那么在html文件中后出现的标签将会覆盖前面的标签

如:标签1设置z-index:1;标签2设置z-index:2;那么2标签会覆盖1标签

    z-index属性只能用在定位元素上

    记住,如果你不想移动一个元素的位置

    指向让他变成定为元素,那么就使用position:relative;

原文地址:https://www.cnblogs.com/xiaowie/p/9718859.html