CSS3过渡、变形、动画(二)

时间:2021-01-11 20:24:35

一、CSS3的2d变形

我们先来一个小实例感受一下:

 1 nav ul li a:hover {  transform: scale(1.7);  } 

这段规则当鼠标悬停到导航项时会给我们的导航项放大1.7倍:

CSS3过渡、变形、动画(二)

 

有一点你需要注意的是:

现在如果你尝试在 Safari 浏览器中添加这种规则,须注意它需要应用该规则的原始元素
必须以块状显示。

1 nav ul li a {
2   height: 42px;
3   text-decoration: none;
4   text-transform: uppercase;
5   color: black;
6   text-shadow: 0 1px 0 hsla(0, 0%, 100%, 1.0);
7   font: 1.875em/42px 'BebasNeueRegular';
8   display: block;
9 }

不这样做的话,什么效果都没有!

二、在2d下我们能做什么变形?

(1)scale :用来缩放元素(放大或缩小)
(2)translate :在屏幕上移动元素(上下左右四个方向)
(3)rotate :按照一定角度旋转元素(单位为度)
(4)skew :沿 X和 Y轴对元素进行斜切
(5)matrix :允许你以像素精度来控制变形效果

下面简单写下用法及效果:

transform: scale(0.5);

CSS3过渡、变形、动画(二)

transform: translate(40px, 0px);

CSS3过渡、变形、动画(二)

transform: rotate(90deg)

CSS3过渡、变形、动画(二)

transform: skew(10deg, 2deg);

 skew (斜切),它会让元素在一个或两个轴上变形偏斜。

第一个参数:X轴方向上的斜切

第二个参数:Y轴方向上的斜切

 CSS3过渡、变形、动画(二)

transform: matrix(1.678, -0.256, 1.522, 2.333, -51.533, -1.989);

基本上能让你将若干变形效果(scale、rotate、skew等等)组合成单个声明

 CSS3过渡、变形、动画(二)

上面的一些变形还可以配合一些属性来使用:

transform-origin 属性(变形的起点默认是元素的中心点):

 1 transform: rotate(45deg);

transform-origin: 20% 20%; 

CSS3过渡、变形、动画(二)