渐变的认识

一、渐变概念

        1. 可以在 2 个或者多个颜⾊之间显示平稳的过渡。
        2. 渐变是由浏览器⽣成的,因⽽需要写浏览器前。

二、渐变的分类之线性渐变

          线性渐变就是从一个方向到另一个方向的变化

写法一:不见前缀的写法:

        语法:background:linear-gradient(⽅向,颜⾊1,颜⾊2,颜⾊3,。。。) ;

        从左到右从红到绿的渐变:background:linear-gradient(to right,red,green); ⽅向:to是到的意思 ⽅向不写默认是从上到下的⼀个渐变

        to right====从左到右
        to left====从右到左
        to bottom===从上到下
        to top====从下到上
        to right bottom====从左上到右下
写法二:加前缀的写法
        如果写渐变的时候加了浏览器前缀了,那么在写⽅向的时候就不能写to 了。
        语法:background:-webkit-linear-gradient(left,red,green); 这是⼀个从左到右从红到绿的意⻅线性渐变。
        ⽅向:不写to 就是从的意思
        left===从左到右
        right===从右到左
        top====从上到下
        bottom===从下到上
注意:⽅向写成⻆度的写法
        ⻆度单位是deg
        语法:background: -webkit-linear-gradient(0deg,red,green);
        不加前缀:如果你写的是0deg,那么这个⽅向默认是从下到上的。你在去转动的时候他是瞬顺时针⽅向的。
        加前缀:0deg==== 默认从左到右,逆时针的。

三、渐变的分类之径向渐变

从⼀个点向四周的渐变。径向渐变写起始点必须要加浏览器前缀,否则不⽣效。
        语法:background: -webkit-radial-gradient( 起点 , 形状 , ⼤⼩,颜⾊ 1, 颜⾊ 2, 颜⾊ 3 。。。 );
        从中⼼点向四周扩散,从红⾊到绿⾊再到蓝⾊:background: -webkit-radial
        gradient(center,red,green,blue);
        起点:
        center===中⼼点
        left top===左上
        left center===左中
        也可以写具体的坐标点,单位可以是px 也可以是 %
注意:
        径向渐变如果你不写起点,默认就是中⼼点
        如果不写起点,就可以不加前缀
        写了起点就要加前缀。
径向渐变形状:
        circle=====圆
        ellipse====椭圆
        正⽅形盒⼦椭圆和圆是⼀样的效果,最终都会呈现圆形
        ⻓⽅形盒⼦,那么默认是椭圆。
径向渐变的⼤⼩(不同尺⼨的渐变):
        closest-side:最近边
        farthest-side:最远边
        closest-corner:最近⻆
        farthest-corner:最远⻆

四、渐变的分类之重复性渐变

        ⽆论是线性还是径向都⽀持重复。
        语法:在线性单词之前加repeating 即可。⾊值的百分⽐⾃⼰去定义。
        线性渐变的重复:background: repeating-linear-gradient(to bottom,red 0%,green 10%,blue 20%);
        径向渐变:background: -webkit-repeating-radial-gradient(center center,red 0%,green 10%,blue
20%);

五、精灵图

        图⽚整合技术:意思就是将好多⼩图整理到⼀张⼤图上⾯去。
        这种技术也叫作精灵图、雪碧图、sprite
        为什么要使⽤精灵图(好处)
                a) 减少服务器的请求次数
                b) 减⼩图⽚体积
                c) 提⾼⽹⻚的加载速度

六、过渡   

        1. 允许 css 的值在⼀定时间内平滑的过渡,看起来不是那么的⽣硬
        2. 这种效果可以⽤在⿏标滑过、单击、获得焦点等触发
        3. 示例:⿏标滑过让盒⼦宽⾼加⼤
        如果不加这句话,那么⿏标滑过盒⼦会瞬间变到200
        加上这句话的意思:⿏标滑过⽤2s 的时间让宽⾼变到 200px
        过渡的属性:      
        ①单⼀写法:
                transition-property:需要参与过渡的属性
                transition-duration:过渡的时间
                transition-delay:延迟时间
                transition-timing-function:运动曲线
        ②复合写法(简写⽅式)
                transition:过渡的属性 过渡时间 延迟时间 运动曲线;
        ③运动曲线:
                1)ease :逐渐慢下来 ==== 默认值
                2)linear :匀速运动
                3)ease-in :加速运动
                4)ease-out :减速运动
                5)ease-in-out :先加速后减速
                6)⻉塞尔曲线(了解)
                        http://cubic-bezier.com/
                7)步⻓运动:steps

七、2d变形  

变形属性 transform ,可以实现元素的(位移、旋转、缩放)等。有 2D 3D 之分
x 轴为⽔平⽅向,右侧是正数, y 轴是垂直⽅向,向下为正数。
( ) 位移: translate
位移:实现元素的位置移动
        transform: translateX(100px);======⽔平向右移动
        transform: translateY(100px);======垂直向下移动
        transform: translateX(100px) translateY(100px);====以上两句可以写成这⼀句
        transform: translate(100px,100px);====这是更加简洁的写法,第⼀个值是 x 坐标,第⼆个值 y 坐标
( ) 缩放 :scale
        1. 让元素根据中⼼原点进⾏缩放,默认值是 1
        2. ⼩于 1 的值就是缩⼩
        3. ⼤于 1 的值就是放⼤
        4. scale(2)就是将宽和⾼都放⼤ 2
        5. scale(2,1)就是宽放⼤ 2 倍,⾼不变
        scaleX()====在 x 轴上缩放
        scaleY()====在 y 轴上缩放
        scale()====x和 y ⼀起缩放
        这⾥不跟单位 是倍数关系
( ) 旋转 :rotate
        度数单位是deg
        transform: rotateX(30deg);=====围绕 x 轴旋转
        transform: rotateY(30deg);=====围绕 y 轴旋转
        transform: rotateX(30deg) rotateY(30deg);=====围绕 x y 都旋转。
        transform: rotate(30deg);=====围绕中⼼点旋转
( ) 倾斜 :skew
( ) 变形原点: transform-origin
        1. 变形原点就是让元素围绕着哪个点进⾏变形。
        2. 这个属性只有在设置了 transform 属性的时候才会起作⽤。
        3. 元素默认原点就是中⼼点(中⼼位置)
        建议:
为了保证缩和旋转不对位移产⽣影响,⼀般如果⽤组合写法的话建议位移放在最前⾯。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值