top 顶部偏移属性

最后更新:2026-09-13

top top 顶部偏移属性

top 属性用于定义定位元素从其包含块顶部边缘向上的偏移量。它仅对 position 值为 relative、absolute、fixed 或 sticky 的元素生效,用于精确控制元素在垂直方向上的位置。

分类
初始值auto
继承
适用于positioned
可动画length
CSS 版本CSS2
状态标准

📝 语法

top: auto | <length> | <percentage>;

⚙️ 取值

类型描述
auto关键字无偏移
<length> | <percentage>类型相对包含块的偏移值

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
top v1 v12 v1 v1 v1
所有主流浏览器均支持
注意: top 仅对非 static 的定位元素生效,对 position: static 的元素设置 top 不会产生任何效果。
提示: 百分比值相对于包含块的高度计算,auto 则表示由浏览器根据其他属性自动计算位置。

❓ 常见问题

Q同时设置 top 和 bottom 会怎样?
A分情况:absolute/fixed 且不设 height 时,元素高度被拉伸填满 top 与 bottom 之间,形成自适应高度;relative 时 top 生效、bottom 被忽略。同时设了 height 则 top 生效、bottom 失效。此特性常用于父容器内上下拉伸的元素(通栏背景等)。
Qtop 的百分比是相对于谁的?
Atop 的百分比相对包含块高度计算。absolute 的包含块是最近定位祖先的 padding box;fixed 是视口;relative 相对自身原始位置。如 top:50% 让元素上边缘位于包含块高度一半处,常配合 transform:translateY(-50%) 实现垂直居中。
Q为什么 top 不生效?
A最常见原因是元素没有定位:top 只对 position 为 relative、absolute、fixed 或 sticky 的元素生效,static(默认)元素上的 top 完全无效。另外检查值是否有效(auto/长度/百分比)、是否被 height 等属性覆盖。先确认 position,再查偏移计算。
Q如何用 top:50% 实现垂直居中?
A元素 position:absolute(父容器 position:relative),top:50% 让上边缘落在容器一半处,再 transform:translateY(-50%) 上移自身高度一半,即实现垂直居中。注意 transform 移动的是元素自身的 50%,与 top 百分比不同。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏