CSS top 属性

CSS top 语法

在 CSS 中,top 属性用于定义已定位元素的顶部偏移量。这个属性只有在元素的 position 属性值不是 static 时才会生效。

语法:

top: 数值;

说明:

top 属性取值一般是一个数值,比如 px、em、rem、百分比(%)等。百分比值是相对于参考元素的 “高度” 计算的。

对于 top 属性,小伙伴们要清楚以下几点。

  • 对于 position: relative; 的元素,top 的偏移是相对于元素 “自身” 原本在正常文档流中的位置。
  • 对于 position: absolute; 的元素,top 的偏移是相对于其 “最近的已定位祖先元素” 的内边距盒顶部边缘。
  • 对于 position: fixed; 的元素,top 的偏移是相对于 “视口” 的顶部边缘。
  • 对于 position: sticky; 的元素,top 的值定义了元素在容器滚动时,其顶部边缘距离容器顶部边缘的阈值,达到这个阈值后元素会粘住。

如果同时设置了 top 和 bottom,则浏览器会尝试根据这两个值来决定元素的高度:

  • 如果元素的 height 是 auto,并且不是 flexgrid 的子项,那么元素会被拉伸以满足 top 和 bottom 的距离要求。
  • 如果元素已经设置了固定高度或在某些布局中(如 flex 容器),top 一般优先级更高(尤其在从上到下书写模式中)。

CSS top 摘要

属于 CSS 定位
使用频率
是否继承
默认值 auto
兼容性 查看
官方文档 查看
MDN 查看

CSS top 示例

接下来,我们通过一个简单的例子来讲解一下 top 属性是如何使用的。

示例:top 基本用法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        .parent {
            position: relative;
            width: 200px;
            height: 200px;
            background-color: lightskyblue;
        }
        .child {
            position: absolute;
            top: 30px;
            width: 50px;
            height: 50px;
            background-color: hotpink;
        }
    </style>
</head>
<body>
    <div class="parent">
        <div class="child"></div>
    </div>
</body>
</html>

页面效果如下图所示。

top 示例

分析:

在这个例子中,由于我们给父元素设置了 position: relative;,此时子元素的 position: absolute; 是相对于父元素来说的。top: 30px; 表示定义子元素距离父元素顶部距离为 30px。

上一篇: position

下一篇: bottom

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号