径向渐变、CSS3过渡、2D转换

径向渐变

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

    语法:
        background:radial-gradient(shape at center,start-color,...,last-color);
        center:渐变起点的位置,可以为百分比,默认是图形的正中心
        shape:渐变的形状,ellipse表示椭圆形,corcle表示圆形,默认为ellipse,如果元素形状为正方形的元素,则ellipse和circle显示一样
        size:渐变的大小,即渐变到哪里停止,它有四个值。
            closest-side:最近边
            farthest-side:最远边
            closest-corner:最近角
            farthest-corner:最远角    默认值

不均匀渐变

    background: radial-gradient(circle farthest-corner at 30% 70%,red 80%, blue 90%, green 100%);

重复渐变

    background: repeating-radial-gradient(circle farthest-corner at 30% 70%,red 80%, blue 90%, green 100%);

CSS3过渡:

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

    transition-property:检索或设置对象中的参与过渡的属性
        可以省略    width/height/opacity
        默认值是all
        display:none;
        visubility:hidden;
        overflow:hidden;
        如果有多个属性值,用逗号隔开

2D转换:

    transform的属性包括:rotate()旋转/skew()倾斜/scale()缩放/translate()平移,分别还有x、y之分,比如:rotatex()和rotatey()

         一个transform里面要做多种转换的时候,我们要用空格隔开

    1、translate()
        将元素向指定方向移动,类似于position中的relative
        水平移动:
                向右移动translate(tx,0)和向左移动translate(-tx,0);
        垂直移动:
                向上移动translate(0,-ty)和向下移动translate(0,ty);
        对角移动:
                右下角移动translate(tx,ty)、右上角移动translate(tx,-ty)、左上角移动translate(-tx,-ty)和左下角移动translate(-tx,ty)。

        translateX():
                水平方向移动一个对象。对像只向X轴进行移动,如果值为正值,对像向右移动;如果值为负值,对像向左移动。
        translateY():
                纵轴方向移动一个对象。对象只向Y轴进行移动,如果值为正值,对象向下移动;如果值为负值,对像向上移动。
                这两个函数和前面介绍的translate()函数不同的是每个方法只接受一个值。
                所以
                transform:translate(-100px,0)实际上等于transform:translateX(-100px);
                transform:translate(0,-100px)实际上等于transform:translateY(-100px)。
    2、scale()
        让元素根据中心原点对对象进行缩放。默认的值1。因此0.01到0.99之间的任何值,使一个元素缩小;而任何大于或等于1.01的值,让元素显得更大。
         缩放scale()函数和translate()函数的语法非常相似,他可以接受一个值,也可以同时接受两个值,如果只有一个值时,其第二个值默认与第一个值相等。
         例如,
            scale(1,1)元素不会有任何变化,而scale(2,2)让元素沿X轴和Y轴放大两倍。
            scaleX():相当于scale(sx,1)。表示元素只在X轴(水平方向)缩放元素,其默认值是1。
            scaleY():相当于scale(1,sy)。表示元素只在Y轴(纵横方向)缩放元素,其默认值是1。
    3、rotate()
        旋转rotate()函数通过指定的角度参数对元素根据对象原点指定一个2D旋转。它主要在二维空间内进行操作,接受一个角度值,用来指定旋转的幅度。如果这个值为正值,元素相对原点中心顺时针旋转;如果这个值为负值,元素相对原点中心逆时针旋转。

        rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转
        rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转

扫描二维码关注公众号,回复: 11428744 查看本文章

        rotate()相当于是rotateZ()
    4、skew()
        倾斜skew()函数能够让元素倾斜显示。它可以将一个对象以其中心位置围绕着X轴和Y轴按照一定的角度倾斜。
        一个参数时:表示水平方向的倾斜角度;
        两个参数时:第一个参数表示水平方向的倾斜角度,第二个参数表示垂直方向的倾斜角度

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

        因为我们元素默认基点就是其中心位置,换句话说我们没有使用transform-origin改变元素基点位置的情况下,transform进行的rotate,translate,scale,skew等操作都是以元素自己中心位置进行变化的。

        可以用像素,也可以用百分比
        变形原点是可以放在元素的外面的
    
    水平垂直居中:
        定位+transform
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);

    transition-duration:检索或设置对象过渡的持续时间(必填)
    transition-delay:检索或设置对象延迟过渡的时间
    延迟时间在前,过渡时间在后

    transition-timing-function:检索或设置对象中过度的动画类型
        linear:匀速
        ease(默认值):短时间加速后减速
        ease-in:加速
        ease-out:减速
        ease-in-out:先加速后减速

猜你喜欢

转载自blog.csdn.net/qq_39264561/article/details/106522151