才发现原来CSS3这么好用…
CSS3中可以通过 box-sizing 来指定盒模型,有2个值,即可指定为 content-box、border-box,这样计算盒子大小的方式就发生了改变。
* { margin: 0; padding: 0; box-sizing: border-box; }
filter CSS属性将模糊或颜色偏移等图形效果应用于元素
filter: 函数(); 例如: filter: blur(5px); /*blur模糊处理,数字越大越模糊*/
calc() 可以在声明CSS属性值时执行一些计算
width: calc(100%-80px);
过渡动画:是重复一个状态渐渐地过渡到另一个状态
transition: 要过渡的属性 花费时间 运动曲线 何时开始; 经常搭配 /* :hover */一起使用 例如: transition: width .5s, height .5s; /*多个属性用 逗号分隔 或者 all*/ /**谁做过渡给谁加**/
转换(transform)可以实现元素的位移、旋转、缩放等效果。
改变元素在页面的位置,类似定位
//移动盒子位置:定位 盒子的外边距 2D转换移动 transform:translate(x, y); transform:translateX(); transform:translateY();
2D旋转指的是让元素在二维平面内顺时针旋转或者逆时针旋转
transform:rotate(度数) //单位deg
transform-origin:x y;
transform:scale(x, y);
x y用逗号分隔transform(i, j): 宽放大i倍,搞放大j倍;只写一个参数,第二个参数则和第一个参数一样可以设置转换中心点缩放,默认以中心点缩放的,而且不影响其他盒子
a. 同时使用多个转换,格式:transform:translate() rotate() scale()等;
b. 其顺序会影响转换的效果,(先旋转会改变坐标轴方向)
c. 同时有位移和其他属性,要把位移放前面
动画(animation)可以通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果,可以实现更多变化,更多控制,连续自动播放等效果。
一个元素可以添加多个动画,用逗号分隔即可。
@keyframes 动画名称 { 0% { width:100px; } 100% { width:200px; } }
div { animation:名称; animation-duration:持续时间: }
animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态
animation: first 5s linear 2s infinite alternate
animation-timing-function: 规定动画的速度曲线,默认是"ease"
透视写在被观察元素的父盒子上面的(近大远小)
d:就是视距,视距就是人的眼睛到屏幕的距离
z:就是z轴,物体距离屏幕的距离,z轴越大(正值),我们看到的物体就越大
rotate3d让元素在三维平面沿着x轴、y轴、z轴或者自定义轴进行旋转
元素旋转方向:左手准则
x
y
transform:rotate3d(x,y,z,deg): 沿着只定义轴旋转deg为角度
xyz表示旋转轴的矢量,最后一个标示旋转的角度
如果美工|CSS3过渡旋转透视2d3d动画等效果的实例代码没有解决您的问题,您还可以在CSS栏目中查看更多相关内容。