HTML-CSS小知识——translate是基于自身移动的、绝对定位基于父盒子
无论是在标准流情况还是绝对定位下,translate都是基于自身移动的;绝对定位基于父盒子
例子
- 代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
body>div{
width: 800px;
height: 500px;
margin: 0 auto;
background-color: red;
position: relative;
}
.move{
width: 200px;
height: 200px;
position: absolute;
left: 50%;
top: 50%;
background-color: green;
transition: all 0.5s linear;
}
.move:active{
transform: translateX(50%);
}
</style>
</head>
<body>
<div>
<div class="move">移动</div>
</div>
</body>
</html>
- 静态界面:绝对定位是相对于父盒子,也就是上一个非标准流的祖先盒子。其中需注意那个50%产生的效果不是让这个盒子的中心居中的。
- 移动时:translateX(50%)的50%是基于自身的
此文章如有不足之处,希望大家在评论区一起交流哦!谢谢大家!!!