细品css3

background

css1:
background: background-color url(#) repeat attachment position;
cc3新增:

  • background-size :定义背景图片位置,两个值:水平和垂直偏移量
    background-size : x y;

  • background-clip :指定背景绘制区域。共有 3 种情况:
    (1) border-box 背景被裁剪到边框盒
    (2) padding-box 背景被裁剪刀内边距框
    (3) content-box 背景被裁剪到内容框

  • background-origin :设置元素背景图片的原始起始位置
    (1)border-box
    (2)padding-box
    (3)content-box
    background-origin :border-box || padding-box || content-box;

  • background-image: 指定一个或多个图片 ,或指定线性渐变或径向渐变
    (1)指定图片 : background-image: url() , url(); //注意第一张图是放在最上面。
    (2)渐变 :
    线性渐变:
    background-image: linear-gradient(方向 , color1, color2, color3…)
    background-image: linear-gradient(角度 , color1, color2, color3…)

例子 : background-image: linear-gradient(to bottom right, red , yellow);
在这里插入图片描述

注意:1.指定角度渐变时,要注意旋转方向。 2.在指定color时,也可指定一个百分比数,指渐变从哪开始。3.重复渐变也有。

径向渐变
从起点到终点颜色从内到外进行圆形渐变(从中间向外拉)
background: radial-gradient(center, shape size, start-color, …, last-color);(默认颜色结点均匀分布)

text

文本阴影(text-shadow)
该属性用于给文字设置阴影效果,一共有 4 个值。第一个值为水平偏移量,第二
个值为竖直偏移量,第三个值为模糊距离,第四个值为颜色。

换行
word-break 属性规定自动换行的处理方法。共有 3 个值:normal break-all keep-all
新文本属性
1、text-align-last 属性规定如何对齐文本的最后一行
2、text-overflow 属性规定当文本溢出包含元素时该如何处理。

transform

(1)平移 : translate(x,y) 将div平移x,y;
(2)旋转 : rotate(angle) 将div转转angle个角度
(3)放缩 : scale(x,y) 将div进行放缩
(4)倾斜 : skewX(angle) 将div倾斜angle个角度

注意:倾斜、放缩都会有一个轴线,div会根据这根轴线进行倾斜、放缩。

transform 3D;

(1)旋转 :rotateX(angle) rotateY(angle) rotateZ(angle) rotate3D(x,y,z,angle)
其中 0<x,y,z<1,真实度数 x*angle
注意 : 3D的转化看起来似乎与2D没什么不同,但它是真实3D转动,就好像一本书从正面翻到侧面,这是真正的3D转动。
(2)平移:比2D多了一个translateZ(z) . translate3d(x,y,z) 不可省略参数。
(3)缩放: 比2D多了一个scaleZ 。 在这里插入图片描述

transform-origin
更改转化点的位置(旋转、放缩的中心点)

转化矩阵,emmmm这个等用到在学吧,贼难记住

transform-style:指定嵌套元素是怎样在三维空间中呈现。
transform-style: flat|preserve-3d;

backface-visibility:定义当元素不面向屏幕时是否可见。
backface-visibility: visible|hidden;

perspective 定义 3D 元素距视图的距离,以像素计。即Z轴距离。

transition 过渡

当某个css需要平滑的从一个值过渡到另一个值的时候就可以用上了,这是一个非常强大的动画效果。
transition-property: none || all || 指定要过渡的css名称(如color);

transition-duration: time ; 指过度所用的时间。

指定以上两个过渡效果就已经成立!额外css:

transition-timing-function : 过渡速度的快慢
(1) linear ; //以线性的速度过渡css
(2) ease ; //平滑过渡
(3) ease-in ;//先慢后快
(4)ease-out; //先快后慢
(5)ease-in-out;//先慢后快,再慢
(6)cubic-bezier(n,n,n,n);//cubic-bezier函数变化

transition-duration: time ; //指定过渡触发之后过多少秒后开始过渡css

transition整合
transition: property duration timing-function delay;

animation 动画

作用:animation 属性是一个简写属性,用于设置六个动画属性

语法:animation: name duration timing-function delay iteration-count direction

说明:

animation-name : “String” ; //规定需要绑定到选择器的 keyframe 名称

animation-duration : time ; //规定完成动画所花费的时间,以秒或毫秒计

animation-timing-function 参数如上的transition-timing-function;
// 规定动画的速度曲线

animation-delay : time; //规定在动画开始之前的延迟

animation-iteration-count : n | infinite; //规定动画应该播放的次数
说明:n 定义动画播放次数的数值,infinite 规定动画应该无限次播放

animation-direction normal|alternate; //规定是否应该轮流反向播放动画
说明:normal 默认值,动画应该正常播放,alternate 动画应该轮流反向播放

注意:请始终规定 animation-duration 属性,否则时长为 0,动画不会播放

@keyframes 属性
作用:通过 @keyframes 规则,创建动画
说明:创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式,在动画过程中,能够
多次改变这套 CSS 样式,以百分比来规定改变发生的时间,或者通过关键词 “from” 和
“to”,等价于 0% 和 100%,0% 是动画的开始时间,100% 是动画的结束时间

例子:

div {
width: 100px;
height: 100px;
background: red;
position: relative;
animation: mymove 5s infinite; -moz-animation: mymove 5s infinite;
}
@keyframes mymove {
	0% {
	top: 0px;
	}
	25% {
	top: 200px;
	}
	75% {
	top: 50px
	}
	100% {
	top: 100px;
	}
}

其他动画属性:
animation-play-state 属性
作用:animation-play-state 属性规定动画正在运行还是暂停

语法:animation-play-state: paused | running;

说明:paused 规定动画已暂停,running 规定动画正在播放
注释:可以在 JavaScript 中使用该属性,这样就能在播放过程中暂停动画

animation-fill-mode 属性
作用:animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见

语法:animation-fill-mode : none | forwards | backwards | both;

说明:none 不改变默认行为,forwards 当动画完成后,保持最后一个属性值(在最后一
个关键帧中定义),backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义),both 向前和向后填充模式都被应用

will-change
作用:提前通知浏览器元素将要做什么动画,让浏览器提前准备合适的优化设置

语法:will-change:auto |

说明:auto 表示没有特别指定哪些属性会变化,浏览器需要自己去猜,然后使用浏览器经常使用的一些常规方法优化

最后建议一下css3都拿张图片或者div来一点一点实践一下,css在做特效方面非常有效。css3综合应用,模拟电池🔋充电
结果:https://codepen.io/Chokcoco/pen/bGNqyra?editors=1100 (转跳有点慢,可以等几秒)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值