位移
实现居中的两种方法
绝对定位的盒子在父盒子中实现居中效果有两种方法
法一:margin
其中,left和top的值分别为子盒子自身宽高的一半
法二:translate
实现过渡效果
translate常常配合hover和transition使用,以实现鼠标悬停时过渡的动画效果
代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>位移-基本使用</title>
<style>
.father {
width: 500px;
height: 300px;
margin: 100px auto;
border: 1px solid #000;
}
.son {
width: 200px;
height: 100px;
background-color: pink;
transition: all 0.5s;
}
/* 鼠标移入到父盒子,son改变位置 */
.father:hover .son {
/* transform: translate(100px, 50px); */
/* 百分比: 盒子自身尺寸的百分比 */
/* transform: translate(100%, 50%); */
/* transform: translate(-100%, 50%); */
/* 只给出一个值表示x轴移动距离 */
/* transform: translate(100px); */
transform: translateY(100px);
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>
代码效果
鼠标进入黑框,粉色方块在0.5秒内下移100px,鼠标离开黑框,粉色方块在0.5秒内上移100px
代码解释
transition: all 0.5s; -> 拥有该属性的标签,在样式改变时,将在设定的时间内逐渐过渡到另一个样式
旋转
单位是deg,即“度”,一周是360deg
转换原点
被添加旋转属性的元素,默认旋转轴是元素的中心轴,可通过transform-origin来改变旋转轴
缩放
多重转换
translate、rotate、scale写成transform复合属性时可以同时实现位移、缩放、旋转效果
注意
旋转会改变网页元素的坐标轴向,所以在复合属性中,最后再写旋转!
如果在一个选择器中出现多个transform属性,写在下面的会覆盖写在上面的,导致上面的属性不生效,所以需要写成符合属性!