使用 position: relative 配合 top、left 等属性可实现元素相对于原位置的平移,元素不脱离文档流,仍占据原有空间;通过设置 left 和 top 的正值或负值控制方向和距离,如 div { position: relative; left: 20px; top: 10px; } 实现右下平移;结合 transition 可添加平滑动画效果,如:hover 时改变位移产生过渡;相比 transform: translate(),relative 平移会影响布局且性能较低,但适合微调定位;掌握正负值方向是关键细节。

在CSS中,使用 position: relative 配合位移属性(如 top、left、right、bottom)可以实现元素的平移效果。它不会脱离文档流,而是相对于自身原本的位置进行偏移。
基本语法
给元素设置 relative 定位后,通过调整 top、left 等属性值来实现平移:position: relative;
top: 向上偏移(负值)或向下偏移(正值);
left: 向左偏移(负值)或向右偏移(正值);
示例:向右和向下平移
将一个原本在正常文档流中的 div 向右移动 20px,向下移动 10px:div {
position: relative;
left: 20px;
top: 10px;
}
配合 transition 实现平滑动画
如果想让平移有动画效果,可以加上 transition:div {
position: relative;
left: 0;
top: 0;
transition: left 0.3s ease, top 0.3s ease;
}
div:hover {
left: 15px;
top: 5px;
}
与 transform: translate 的区别
虽然 relative + left/top 能实现平移,但更推荐使用 transform: translate() 做动画,因为性能更好、不会影响布局:div {
transform: translate(20px, 10px);
}
基本上就这些。relative 平移简单直接,适合局部位置调整,搭配 hover 或 JS 可实现交互效果。不复杂但容易忽略细节,比如正负值方向要记清。










