Menu
CoddyTech

绝对定位

本课属于 Coddy HTML 学习旅程的“使用 CSS 添加样式”单元。第 57 课,共 76 课。

在 CSS 中,绝对定位可以让你将元素准确地放置在容器内你想要的位置。

将 position: absolute; 设置为元素的定位方式后,该元素会从常规布局中移除,因此其他元素会认为它不存在。它会根据最近的、设置了定位方式(不是 static)的祖先元素来定位。如果没有这样的祖先元素,它就会相对于页面定位。

以下是使用绝对定位的基本语法:

.parent {
    position: relative; /* 将父元素设为已定位的祖先元素 */
}

.child {
    position: absolute;
    top: value;
    right: value;
    bottom: value;
    left: value;
}
  • .parent:用于定位父元素的 CSS 选择器。设置 position: relative; 后,子元素可以使用绝对定位。
  • .child:用于选中你想要绝对定位的元素的 CSS 选择器。
  • position: absolute;:此声明将元素的定位方式设为绝对定位,使其脱离正常文档流。
  • top、right、bottom、left:这些属性用于指定元素相对于最近的已定位祖先元素的位置。你可以使用正值或负值,单位可以是像素(px)、em(em)、百分比(%)或其他有效的 CSS 单位。

例如:

.parent {
    position: relative;
    width: 400px;
}

.child {
    position: absolute;
    top: 50px;
    left: 100px;
    width: 200px;
}

在这个示例中,.parent 元素被设置为定位祖先,其定位方式为 position: relative;。.child 元素使用 position: absolute; 进行绝对定位,其位置设置为距最近的定位祖先(即 .parent 元素)顶部 50 像素、左侧 100 像素。

challenge icon

挑战

简单

给你一个 HTML 文档,其中有一个父级分区(<div>),包含两个子级分区(<div>),它们的类分别是 box1 和 box2。你的任务是使用绝对定位,将 box2 元素放置在 parent 内。按以下步骤操作:

  1. 编写一条 CSS 规则,选择类为 parent 的 <div> 元素。将它的 position 属性设为 relative,使其成为定位祖先。
  2. 编写一条 CSS 规则,选择类为 box2 的 <div> 元素。
  3. 将 .box2 元素的 position 属性设为 absolute。
  4. 将 .box2 元素的 top 属性设为 30px,并将 right 属性设为 20px。这样,方框就会位于其定位祖先(parent)顶部向下 30 像素、右侧向左 20 像素的位置。

亲手试试

<html>
<head>
    <title>Absolute Positioning</title>
    <style>
        .parent {
            width: 400px;
            height: 300px;
            border: 1px solid black;
        }
        .box1 {
            width: 100px;
            height: 100px;
            background-color: lightblue;
        }
        .box2 {
            width: 150px;
            height: 120px;
            background-color: lightgreen;
        }
        /* Write CSS rules here */
    </style>
</head>
<body>
    <div class="parent">
        <div class="box1">Box 1</div>
        <div class="box2">Box 2</div>
    </div>
</body>
</html>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

使用 CSS 添加样式中的所有课

自己练习: Web 在线编辑器