CSS3变形是一些效果的集合
如平移、旋转、缩放、倾斜效果
每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化。
语法:transform:[transform-function]; (括号内为变形函数,可以是一个也可以是多个)
变形函数
2D位移:translate():平移函数,基于X、Y坐标重新定位元素的位置
示例1:
<style>
li{
list-style: none;
float: left;
width: 80px;
line-height: 40px;
background: rgba(242, 123, 5, 0.61);
border-radius: 6px;
font-size: 16px;
margin-left: 3px;
}
li a{
text-decoration: none;
color: #fff;
display: block;
text-align: center;
height: 40px;
}
li a:hover{
background: rgba(242, 88, 6, 0.87);
border-radius: 6px;
/*设置a元素在鼠标移入时向右下角移动4px,8px*/
transform: translate(4px,8px);
/*为防止浏览器兼容性,需要加上前缀*/
-webkit-transform: translate(4px,8px); /* Chrome浏览器 */
-o-transform: translate(4px,8px); /* Opera浏览器 */
-moz-transform: translate(4px,8px); /* Firefox浏览器 */
transform: translateX(4px); /*表示只设置X轴的位移*/
transform: translateY(8px); /*表示只设置Y轴的位移*/
}
</style>
<body>
<ul>
<li><a href="#">服装城</a></li>
<li><a href="#">美妆馆</a></li>
<li><a href="#">超市</a></li>
<li><a href="#">全球购</a></li>
<li><a href="#">闪购</a></li>
<li><a href="#">团购</a></li>
<li><a href="#">拍卖</a></li>
<li><a href="#">金融</a></li>
</ul>
</body>
scale():缩放函数,可以使任意元素对象尺寸发生变化
示例2:(其余代码见示例1)
li a:hover{
background: rgba(242, 88, 6, 0.87);
border-radius: 6px;
/*设置a元素在鼠标移入时放大1.5倍显示*/
transform: scale(1.5);
-webkit-transform: scale(1.5);
-moz-transform: scale(1.5);
-o-transform: scale(1.5);
}
skew():倾斜函数,取值是一个度数值
示例3:(其余代码见示例1)
li a:hover{
background: rgba(242, 88, 6, 0.87);
border-radius: 6px;
/*设置a元素在鼠标移入时向左下角倾斜*/
transform: skew(40deg,-20deg);
-webkit-transform: skew(40deg,-20deg);
-moz-transform: skew(40deg,-20deg);
-o-transform: skew(40deg,-20deg);
/*表示只设置X轴的倾斜
*/
transform: skewX(40deg);
-webkit-transform: skewX(40deg);
-moz-transform: skewX(40deg);
-o-transform: skewX(40deg);
}
2D旋转:
rotate():旋转函数,取值是一个度数值
示例4:(其余代码见示例1)
li:hover {
/*定义动画的状态,鼠标移入旋转并放大图片*/
transform: rotate(180deg) scale(2);
-webkit-transform: rotate(180deg) scale(2);
-moz-transform: rotate(180deg) scale(2);
-o-transform: rotate(180deg) scale(2);
}