前端学习第17天:C3-渐变-过渡-2D转换

第17天

1.CSS渐变

​ 说明:渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。

1.1线性渐变(linear-gradient)

​ 说明:线性渐变指沿着某条直线朝一个方向产生渐变效果,如下图是从红色渐变到蓝色。

  • to left、top right、to bottom、to top
div { background:linear-gradient(to left, red , blue) }
div { background:linear-gradient(to right, red , blue) }
div { background:linear-gradient(to bottom, red , blue) } /* 浏览器默认值 */ 
div { background:linear-gradient(to top, red , blue) }
/* 
分别产生“从右到左”、“从左到右”、“从上到下”、“从下到上”的“红色蓝色”渐变
 */

在这里插入图片描述

  • to right bottom、to right top、to left bottom、to left top
div { background: linear-gradient(to right bottom, red , blue); }
div { background: linear-gradient(to right top, red , blue); }
div { background: linear-gradient(to left bottom, red , blue); } 
div { background: linear-gradient(to left top, red , blue); }
/* 分别产生到“右下角”、“右上角”、“左下角”、“左上角”的渐变 */

在这里插入图片描述

  • 示例3:使用角度渐变
div { background: linear-gradient(10deg, red, blue) }
/* 角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。 */

在这里插入图片描述

1.2径向渐变

​ 说明:径向渐变不同于线性渐变,线性渐变是从“一个方向”向“另一个方向”的颜色渐变,而径向渐变是从“一个点”向四周的颜色渐变

​ 语法:

background: radial-gradient(center, shape, size, start-color, ..., last-color);
/* 说明
center:渐变起点的位置,可以为百分比,默认是图形的正中心。
shape:渐变的形状,
	ellipse表示椭圆形,
	circle表示圆形。默认为ellipse,如果元素	形状为正方形的元素,则ellipse和circle显示	 一样。 
size:渐变的大小,即渐变到哪里停止,它有四个值。 
	closest-side``:最近边; 
	farthest-side:最远边; 
	closest-corner:最近角;
	farthest-corner:最远角
*/
1.2.1多颜色点均匀分布
div { background: radial-gradient(red, green, blue); }
/* 以中心(50% 50%)为起点,到最远角(farthest-corner),从 red 到 green、blue的均匀渐变 */
1.2.2 多颜色节点不均匀分布
div { background: radial-gradient(red 5%, green 15%, blue 60%); }
1.2.3 设置渐变形状
div { background: radial-gradient(circle, red, yellow, green); } 
div { background: radial-gradient(ellipse, red, yellow, green); }
/* circle:渐变为最大的圆形; ellipse:根据元素形状渐变,元素为正方形是显示效果与circle无异。 */
1.2.4不同尺寸渐变
div { background:-webkit- radial-gradient(60% 40%, closest-side, blue, green, yellow, black); } 
div { background: radial-gradient(60% 40%, farthest-side, blue, green, yellow, black); }
div { background: radial-gradient(60% 40%, closest-corner, blue, green, yellow, black); }
div { background: radial-gradient(60% 40%, farthest-corner, blue, green, yellow, black); }
/* ize指定了渐变的大小,即渐变到哪里停止,它有四个值。 closest-side:最近边; farthest-side:最远边; closest-corner:最近角; farthest-corner:最远角 */

在这里插入图片描述

1.3 重复渐变

1.3.1 重复性线性渐变
div { background: repeating-linear-gradient(red, yellow 10%, green 20%); }
/* 说明:10%的位置为yellow,20%的位置为green,然后按照这20%向下重复 */

在这里插入图片描述

1.3.2重复性径向渐变
div { background: repeating-radial-gradient(red, yellow 10%, green 20%); }

在这里插入图片描述

2.CSS3过渡(transition)

css3的 transition 允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值

transition-property:检索或设置对象中的参与过渡的属性 transition-duration:检索或设置对象过渡的持续时间 transition-delay:检索或设置对象延迟过渡的时间 transition-timing-function:检索或设置对象中过渡的动画类型

简写:

transition:all(全部或所有)/具体属性值 运动时间s/ms 延迟时间s/ms 动画类型

transition-timing-function:检索或设置对象中过渡的动画类型

linear:匀速 ease:逐渐变慢 ease-in:加速 ease-out:减速 ease-in-out:先加速后减速

3. CSS3 2D转换

​ 说明:transform 该属性允许我们对元素进行旋转、缩放、移动。

3.1 translate位移

/* 将元素向指定的方向移动,
第一个参数:水平方向 第二个参数:垂直方向 */
transform: translate(100px, 0px);

3.2 scale缩放

/* 让元素根据中心原点对对象进行缩放。默认的值1。因此0.01到0.99之间的任何值,使一个元素缩小;而任何大于或等于1.01的值,让元素显得更大。  */

/* 第一个参数:水平方向 第二个参数:垂直方向 注意点: 如果取值是1, 代表不变 如果取值大于1, 代表需要放大 如果取值小于1, 代表需要缩小 */
transform: scale(0.5, 0.5);

/* 果水平和垂直缩放都一样, 那么可以简写为一个参数 */
transform: scale(1.5);

3.3 rotate旋转

​ 注意:

-  `2D`的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的
- -如果需要进行多个转换, 那么用空格隔开

说明:如果这个值为正值,元素相对原点中心顺时针旋转;如果这个值为负值,元素相对原点中心逆时针旋转。

rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转 rotateY()方法,元素围绕其 Y 轴以给定的度数进行旋转 rotateZ() 方法,元素围绕其 Z轴以给定的度数进行旋转,默认就是Z轴旋转。

3.4transform-origin原点

transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作用; 第一个参数:水平方向

第二个参数:垂直方向

注意点 取值有三种形式:

  • 具体像素 transform-origin: 200px 0px;
  • 百分比 transform-origin: 50% 50%;
  • 特殊关键字 transform-origin: center center; transform-origin: left top;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值