CSS渐变、过渡、转换、动画

CSS渐变

CSS3渐变的分类

线性渐变(Linear Gradient)- 向下/向上/向左/向右/对角方向

径向渐变(radial-gradient)- 由它们的中心定义

CSS3 线性渐变

(1)从上到下

        起点是红色,慢慢过渡到蓝色:

        #grad { background-image: linear-gradient(#e66465, #9198e5);

(2)从左到右

         起点是红色,慢慢过渡到蓝色:

       #grad { background-image: linear-gradient(to right, red , yellow);

(3)对角

        起点是红色,慢慢过渡到蓝色:

      #grad {  background-image: linear-gradient(to bottom right, red, yellow);

(4)对角使用多个颜色结点

        background-image: linear-gradient(red, yellow, green)

(5)使用透明度

        使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。

        background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));

CSS3 径向渐变

(1) 颜色结点均匀分布

        background-image: radial-gradient(red, yellow, green)

(2)颜色结点不均匀分布

        background-image: radial-gradient(red 5%, yellow 15%, green 60%);

(3)设置形状

        shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。

         background-image: radial-gradient(circle, red, yellow, green);

CSS3 过渡

(1) 过渡属性

        

属性

描述

CSS

transition

简写属性,用于在一个属性中设置四个过渡属性。

3

transition-property

规定应用过渡的 CSS 属性的名称。

3

transition-duration

定义过渡效果花费的时间。默认是 0。

3

transition-timing-function

规定过渡效果的时间曲线。默认是 "ease/曲线"。

linear匀速

3

transition-delay

规定过渡效果何时开始。默认是 0。延迟

3

       还有一种简写;

                transition:all 时间 时间曲线 延迟时间;

CSS3 2D转化

        主要有以下几种方法:translate()、rotate()、scale()、skew()、matrix()

(1)translate()

        translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

        transform:translate(50px,50px)

(2)rotate()

        rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

        transform:rotate(30deg)

(3)scale()

        scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

        transform: scale(2,3);

(4)skew()

   skewX(<angle>);表示只在X轴(水平方向)倾斜。

   skewY(<angle>);表示只在Y轴(垂直方向)倾斜。

        transform: skew(30deg,20deg);

CSS3 3D转化

(1)rotateX()

 rotateX()方法,围绕其在一个给定度数X轴旋转的元素。

  transform: rotateX(120deg);

  对于y轴也是如此!!!!!!

 (2)3D 转换其他方法

 

函数

描述

matrix3d(n,n,n,n,n,n,
n,n,n,n,n,n,n,n,n,n)

定义 3D 转换,使用 16 个值的 4x4 矩阵。

translate3d(x,y,z)

定义 3D 转化。

translateX(x)

定义 3D 转化,仅使用用于 X 轴的值。

translateY(y)

定义 3D 转化,仅使用用于 Y 轴的值。

translateZ(z)

定义 3D 转化,仅使用用于 Z 轴的值。

scale3d(x,y,z)

定义 3D 缩放转换。

scaleX(x)

定义 3D 缩放转换,通过给定一个 X 轴的值。

scaleY(y)

定义 3D 缩放转换,通过给定一个 Y 轴的值。

scaleZ(z)

定义 3D 缩放转换,通过给定一个 Z 轴的值。

rotate3d(x,y,z,angle)

定义 3D 旋转。

rotateX(angle)

定义沿 X 轴的 3D 旋转。

rotateY(angle)

定义沿 Y 轴的 3D 旋转。

rotateZ(angle)

定义沿 Z 轴的 3D 旋转。

perspective(n)

定义 3D 转换元素的透视视图。

CSS3 动画

(1)规则

        首先创建动画需要 @keyframes 规则!!!!!!!

  1. 当在 @keyframes 创建动画,把它绑定到一个选择器(动画的名称),否则动画不会有任何效果。
  2. 规定动画的名称,规定动画的时长
  3. 请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
  4. 0% 是动画的开始,100% 是动画的完成。
  5. 为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
  6. 把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:
  7. 当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

代码如下:

div { animation: myfirst 5s;

        animation: myfirst 5s; /* Safari 与 Chrome */ 

}

@keyframes myfirst { 

0% {background: red;} 

25% {background: yellow;} 

50% {background: blue;} 

100% {background: green;} 

} 

(2)CSS3的动画属性

        

属性

描述

CSS

@keyframes

规定动画。

3

animation

所有动画属性的简写属性,除了 animation-play-state 属性。

3

animation-name

规定 @keyframes 动画的名称。

3

animation-duration

规定动画完成一个周期所花费的秒或毫秒。默认是 0。

3

animation-timing-function

规定动画的速度曲线。默认是 "ease"。

3

animation-fill-mode

规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

3

animation-delay

规定动画何时开始。默认是 0。

3

animation-iteration-count

规定动画被播放的次数。默认是 1。

3

animation-direction

规定动画是否在下一周期逆向地播放。默认是 "normal"。

3

animation-play-state

规定动画是否正在运行或暂停。默认是 "running"。

3

这里要补充一个知识点:对于表钟的步数设置用Step来实现!!!!!

CSS3 多列布局

(1)CSS3的多列属性

属性

描述

column-count

指定元素应该被分割的列数。

column-fill

指定如何填充列

column-gap

指定列与列之间的间隙

column-rule

所有 column-rule-* 属性的简写

column-rule-color

指定两列间边框的颜色

column-rule-style

指定两列间边框的样式

column-rule-width

指定两列间边框的厚度

column-span

指定元素要跨越多少列

column-width

指定列的宽度,尽量不要与column-count同时使用

columns

设置 column-width 和 column-count 的简写

(2)创建多列

        column-count 属性指定了需要分割的列数

        div {
            -webkit-column-count: 3; /* Chrome, Safari, Opera */
            -moz-column-count: 3; /* Firefox */
            column-count: 3;
        }

(3)创建列与列间的间隙

column-gap 属性指定了列与列间的间隙。

        div {
            -webkit-column-gap: 40px; /* Chrome, Safari, Opera */
            -moz-column-gap: 40px; /* Firefox */
            column-gap: 40px;
        }

 (4)列边框

column-rule-style 属性指定了列与列间的边框样式:

        div {
            -webkit-column-rule-style: solid; /* Chrome, Safari, Opera */
            -moz-column-rule-style: solid; /* Firefox */
            column-rule-style: solid;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值