关键词

CSS定位的4种方法

CSS定位是指通过CSS属性对HTML元素进行定位和排版。它可以帮助我们更灵活地控制页面布局,使网页看上去更加美观、整洁。

首先,我们来介绍一些与定位相关的CSS属性:

position

该属性用于定义元素在文档中的定位方式。它有四个取值:

  • static:默认值,元素在文档流中按照原来的位置排布;
  • relative:元素在文档流中占据位置,但是可以通过left、top、right、bottom来进行微调;
  • absolute:元素与文档流无关,相对于其最近的已定位祖先元素或body元素进行定位;
  • fixed:元素相对于窗口进行定位,不随页面滚动而移动。

top、right、bottom、left

这四个属性用于定义元素在文档中的具体位置。它们只对position属性值为relative、absolute、fixed的元素有效。

z-index

该属性用于定义元素的堆叠顺序。数值越大的元素会覆盖在数值较小的元素上面。它只对已经定位的元素起作用。

display

该属性用于定义元素的显示方式,其中有三个取值:

  • block:元素将被显示为块级元素,占据整个父容器的宽度,从上到下排列;
  • inline:元素将被显示为行内元素,不占据整个父容器的宽度,从左到右排列;
  • none:元素将不会被显示,也不会占据文档流中的位置。

下面我们通过具体的示例来演示CSS定位的使用:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS定位</title>
    <style>
        #container {
            position: relative;
            width: 500px;
            height: 500px;
            border: 2px solid black;
        }
        #box1 {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 100px;
            height: 100px;
            background-color: red;
            z-index: 2;
        }
        #box2 {
            position: relative;
            top: 50px;
            left: 50px;
            width: 100px;
            height: 100px;
            background-color: blue;
            z-index: 1;
        }
        #box3 {
            display: none;
        }
    </style>
</head>
<body>
    <div id="container">
        <div id="box1"></div>
        <div id="box2"></div>
        <div id="box3">这个div不会被显示</div>
    </div>
</body>
</html>

上面的代码中,我们创建了一个宽度和高度都为500px的容器,容器的定位方式为相对定位。然后,我们创建了三个子元素:

  • box1:定位方式为绝对定位,距离容器顶部和左侧分别为20px,背景颜色为红色,并设置了z-index为2;
  • box2:定位方式为相对定位,距离容器顶部和左侧分别为50px,背景颜色为蓝色,并设置了z-index为1;
  • box3:该元素的display属性值为none,不会被显示。

最后,我们将三个子元素一起放入到容器中。结果如下图所示:

从图中不难看出:

  • box1的z-index比box2的z-index高,所以它覆盖在box2上方;
  • box1和box2的位置都受到了容器的定位方式的影响;
  • box3不会被显示。

本文链接:http://task.lmcjl.com/news/15957.html

展开阅读全文