当position属性设置为absolute、fixed、relative或sticky时,top CSS属性用于指定元素相对于其包含元素的垂直位置。
注意:top属性仅当position属性设置为static(默认值)以外的值时才有效。
根据position属性的值,确定top属性的效果。
位置值 | Bottom 属性 |
---|---|
absolute or fixed | 指定元素上边缘与外边缘之间的距离margin 和容器顶部边缘的内边框。 |
relative | 指定元素顶部边缘移动到其正常位置以下的距离。 |
sticky | 用于计算粘性约束矩形。 |
static | 对元素的位置没有影响。 |
当同时指定顶部和底部值时,会考虑顶部和底部值,位置设置为绝对或固定,高度为 100% 或自动。
当高度受到约束或位置设置为相对时,顶部值优先,底部值被忽略。
属性值
<length>: 可以指定负值、空值或正值。
<percentage>: 容器高度的百分比。
auto: 默认值。浏览器计算底部位置。
适用范围
所有 HTML 定位元素。
DOM 语法
object.style.top = "20px";
CSS position:absolute
这里是一个例子,我们设置position:absolute和不同的top属性值(auto,percent,length) -
<html>
<head>
<style>
div {
position: absolute;
height: 100px;
border: 3px solid rgb(12, 5, 62);
}
div.auto {
top:auto;
background-color: yellow;
}
div.percent {
top:30%;
background-color: pink;
}
div.length {
top:3in;
background-color:transparent;
}
</style>
</head>
<body>
<div class="auto">Position:absolute top:auto</div>
<div class="percent">Position:absolute top:30%</div>
<div class="length">Position:absolute top:3inches</div>
</body>
</html>
CSS top: 相对位置
这是一个示例,其中位置:相对和不同的顶部属性值(auto,%,length) -
<html>
<head>
<style>
div {
position: relative;
height: 100px;
border: 3px solid rgb(12, 5, 62);
}
div.auto {
top:auto;
background-color: yellow;
}
div.percent {
top:30%;
background-color: pink;
}
div.length {
top:3in;
background-color:transparent;
}
</style>
</head>
<body>
<div class="auto">Position:relative top:auto</div>
<div class="percent">Position:relative top:30%</div>
<div class="length">Position:relative top:3inches</div>
</body>
</html>
CSS top: 固定位置
这里是一个例子,我们设置position:fixed和不同的top属性值(auto,percent,length) -
<html>
<head>
<style>
div {
position: fixed;
height: 100px;
border: 3px solid rgb(12, 5, 62);
}
div.auto {
top:auto;
background-color: yellow;
}
div.percent {
top:30%;
background-color: pink;
}
div.length {
top:3in;
background-color:transparent;
}
</style>
</head>
<body>
<div class="auto">Position:fixed top:auto</div>
<div class="percent">Position:fixed top:30%</div>
<div class="length">Position:fixed top:3inches</div>
</body>
</html>
CSS position: sticky
这里是一个例子,其中position:sticky和不同的顶部属性值(auto,percent,length) -
<html>
<head>
<style>
div {
position: sticky;
height: 100px;
border: 3px solid rgb(12, 5, 62);
}
div.auto {
top:auto;
background-color: yellow;
}
div.percent {
top:30%;
background-color: pink;
}
div.length {
top:3in;
background-color:transparent;
}
</style>
</head>
<body>
<div class="auto">Position:sticky top:auto</div>
<div class="percent">Position:sticky top:30%</div>
<div class="length">Position:sticky top:3inches</div>
</body>
</html>
CSS top: 静态位置
这里是一个示例,其中position:static和不同的顶部属性值(auto,percent ,length)-
<html>
<head>
<style>
div {
position: static;
height: 100px;
border: 3px solid rgb(12, 5, 62);
}
div.auto {
bottom:auto;
background-color: yellow;
}
div.percent {
bottom:30%;
background-color: pink;
}
div.length {
bottom:3in;
background-color:transparent;
}
</style>
</head>
<body>
<div class="auto">Position:static top:auto</div>
<div class="percent">Position:static top:30%</div>
<div class="length">Position:static top:3inches</div>
</body>
</html>