手绘‖我之写道 day03

一、转换

昨日,因为是剁手节嘛,,,自己之计划还为请买买打乱了

1、属性:transform

先放张应景图,假装自己是当天再度温柔的

 取值:none/transform-function(转换函数)

双十一

起名 1

来自tango

今日刷微博才看的(ಥ_ಥ)

脑洞这么可怜,而且源源不断,每天还更新,我是炒鸡服气他的

聊迷妹回神……接上↑

相当自己形成任务,差不多拖到快十一点了。为了不自乱我的生物钟,就没有编制成文(ฅ>ω<*ฅ)

可是图都是昨晚围观到手机及之

今日上上哈

 注意:如果如贯彻多独易函数的口舌,可以就此空格分开若干transform-function

纵然问您惊喜不惊喜

起名 2

神掌盆栽先生

暂时还尚未想吓配文的一模一样帧图

起名 3

迎接有想法的小伙伴帮他起名配文

2、转换的原点

FOODIE

起名 4

甜甜圈

起名 5

 默认情况,原点在要素的中心处于,width*50%,height*50%

视觉笔记元素

大部贪图都是起铃铛子的著述受到取的(ฅ>ω<*ฅ)

昨晚达到扫描的,光线问题,效果不好……

起名 6

起名 7

起名 8

起名 9

起名 10

起名 11

起名 12

起名 13

起名 14

眼镜

当下就是是自双十一底涂鸦了,如果您欣赏,帮我沾转底下的小心心,让我知道,可好?

 更换原点-属性:transform-origin:数值/百分比/关键字(top/bottom/left/right)

  取值:按照目前元素的左上点为(0,0)

  一个价:所有轴的职务

  两独价值:第一独价值表示x轴上之价,第二个代表y轴

  三个值:x,y,z

更换主要分为两好像:2D变与3D转换

(一)2D转换

1、位移:位置走

 函数:translate()

 取值:数值/百分比(可为负)

   一个值:x轴

   两个值:x轴,y轴

 单向各移函数:translateX(),translateY()

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3-2D变换之位移</title>
 6     <link rel="stylesheet" href="demo05.css">
 7 </head>
 8 <body>
 9     <div id="d1"></div>
10     <div id="d2"></div>
11 </body>
12 </html>

 1 @charset "utf-8";
 2 
 3 div{
 4     width: 200px;
 5     height: 200px;
 6     position: absolute;
 7     top: 100px;
 8     left: 200px;
 9 }
10 #d1{
11     border: 1px dotted #000;
12 }
13 #d2{
14     border: 1px solid #000;
15     background-color: #f00;
16     opacity: 0.5;
17     /*2D变换之位移*/
18     transform: translate(50px,50px);
19 }

2、缩放:改变元素尺寸

 函数:scale()

 取值:

   一个值:x轴和y轴同样的缩放比例

   两单价值:分别表示x轴和y轴的缩放比例

 可取值:

  默认值为 1

  放大:大于1之数值,可以获取小数

  缩小:0-1的数值

 单向缩放函数:scaleX(x),scaleY(y)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3-2D变换之缩放</title>
 6     <link rel="stylesheet" href="demo06.css">
 7 </head>
 8 <body>
 9     <div id="d1"></div>
10     <div id="d2"></div>
11 </body>
12 </html>

@charset "utf-8";

div{
    width: 200px;
    height: 200px;
    position: absolute;
    top: 100px;
    left: 200px;
}
#d1{
    border: 1px dotted #000;
}
#d2{
    border: 1px solid #000;
    background-color: #f00;
    opacity: 0.5;
    /*2D变换之缩放*/
    transform: scale(0.8,0.5);    /*缩小*/
    /*transform: scale(1.2);    放大*/
}

3、旋转:围绕在一个圆心(转换原点)发生旋转的操作

 函数:rotate(nxdeg)

   n:符号,可正(顺时针)可负(逆时针)

   x:旋转角度的数值

   deg:角度单位

 注意:旋转是并与因标轴一起转

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3-2D变换之旋转</title>
 6     <link rel="stylesheet" href="demo07.css">
 7 </head>
 8 <body>
 9     <div id="d1"></div>
10     <div id="d2">Web前端</div>
11 </body>
12 </html>

 

 1 @charset "utf-8";
 2 
 3 div{
 4     width: 200px;
 5     height: 200px;
 6     position: absolute;
 7     top: 100px;
 8     left: 200px;
 9 }
10 #d1{
11     border: 1px dotted #000;
12 }
13 #d2{
14     border: 1px solid #000;
15     background-color: #f00;
16     opacity: 0.5;
17     /*定义新原点*/
18     transform-origin: 100% 100%;
19     /*2D变换之旋转*/
20     transform: rotate(30deg);
21 }

 

4、倾斜:让要素围绕着x轴或y轴,按照一定的角度发生倾斜效果

 函数:skew(nxdeg)

 单向缩放函数:skewX(),skewY()

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3-2D变换之倾斜</title>
 6     <link rel="stylesheet" href="demo08.css">
 7 </head>
 8 <body>
 9     <div id="d1"></div>
10     <div id="d2">Web前端</div>
11 </body>
12 </html>

 1 @charset "utf-8";
 2 
 3 div{
 4     width: 200px;
 5     height: 200px;
 6     position: absolute;
 7     top: 100px;
 8     left: 200px;
 9 }
10 #d1{
11     border: 1px dotted #000;
12 }
13 #d2{
14     border: 1px solid #000;
15     background-color: #f00;
16     opacity: 0.5;
17     /*2D变换之倾斜*/
18     transform: skew(45deg,15deg);
19 }

(二)3D转换

素得以顺z轴,发生各种转换的成效

1、属性

 perspective:模拟人目及3D视图的相距,取值为数值

 意义:

  1、定义距离

  2、标识元素可以好3D转换

 注意:该属性要设置以父元素上。即设置完后,该因素的子元素能够来3D转换,自身因素是无可以的。

 浏览器兼容性:

  -webkit-perspective

  -moz-perspective

  -o-perspective

2、3D

  • 位移

 函数:translateZ(z),translate3D(x,y,z)

3、3D

  • 旋转

 函数:

  rotateX(deg)

  rotateY(deg)

  rotateZ(deg)

  rotate3D(x,y,z,deg)

  x,y,z取值为0及1,0表示该轴不转,1象征该轴按照deg的角度开展盘

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3-3D变换之旋转</title>
 6     <link rel="stylesheet" href="demo09.css">
 7 </head>
 8 <body>
 9     <div id="parent">
10         <div id="son">Better late than never.</div>
11     </div>
12 </body>
13 </html>

 

 1 @charset "utf-8";
 2 
 3 #parent{
 4     width: 300px;
 5     height: 300px;
 6     border: 1px solid #ddd;
 7     padding: 10px;
 8     margin: 80px 0 0 150px;
 9     /*设置子级元素,允许发生3D转换*/
10     perspective: 100px;
11     -webkit-perspective: 100px;
12 }
13 #son{
14     text-align: center;
15     width: 200px;
16     height: 200px;
17     line-height: 200px;
18     margin: auto;
19     border: 1px solid #000;
20     background-color: #ddd;
21     margin-top: 50px;
22     /*3D旋转*/
23     transform: rotateX(45deg); /*x轴旋转*/
24     /*transform: rotateY(30deg);*/ /*y轴旋转*/
25     /*transform: rotateZ(60deg);*/ /*Z轴旋转*/
26     transform: rotate3d(1,1,1,30deg); /*整体旋转*/
27 }

仲、过渡:元素的一个态及其他一个态的缓过渡

1、过渡有关属性(要素)

a、过渡性质:transition-property

 能够落实联网效果的CSS属性:

      颜色:文本颜色,背景颜色

     
取值为数值:宽度、高度、字体大小

      转换属性:transform

      渐变属性:background:linear-gradient
….

      visibility:

      阴影:

      透明度:

  b、过渡时间:transition-duration

     整个过渡的功效将在多长时间内成功,以秒(s)或毫秒(ms)作为单位

     注意:默认值为0,整个过渡中,必须要装transition-duration属性,否则没有联网效果

  c、过渡时间曲线函数:transition-timing-function

   取值:

    ease:默认值,慢速开始,快速变快,慢速结束

    linear:匀速

    ease-in:慢速开始,加速效果

    ease-out:快速开,减速效果

    ease-in-out:慢速开始和结束,中间先加速再减速

  d、过度的延迟:transition-delay

   过渡效果啊时候开始,以秒(s)或毫秒(ms)作为单位

  e、过渡的综合性能:

   transition:property duration timing-function
delay

   将以上四单连性质在一块儿,后面两独可概括

2、触发过渡效果

 a、用户的行(点击、悬浮)

 b、:hover, :active …

3、过渡性质定义在什么地方

 div{

width: 100px;

 }

 div:hover{

width: 300px;

 }

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>过渡</title>
 6     <style>
 7         #d1{
 8             width: 100px;
 9             height: 30px;
10             background-color: #bfb;
11             /*定义过渡效果*/
12             /*在此处定义过渡效果,恢复时仍然有效果*/
13             /*transition-property: width;
14             transition-duration: 1s;
15             transition-timing-function: linear;
16             transition-delay: 100ms;*/
17         }
18         #d1:hover{
19             width: 300px;
20             height: 30px;
21             background: #bfb;
22             /*定义过渡效果*/
23             transition: width 1s ease-in 100ms;
24         }
25         img{
26             /*若将过渡效果定义在此处,则恢复时依然能看到效果            */
27         }
28         img:hover{
29             transform: translate(200px) rotate(720deg);
30             transition: transform 1s linear 100ms;
31         }
32     </style>
33 </head>
34 <body>
35     <div id="d1"></div>
36     <img src="Images/star.jpg">
37 </body>
38 </html>

接+3D旋转效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过渡+3D旋转</title>
    <style>
        #parent{
            width: 200px;
            height: 200px;
            padding: 50px;
            border: 1px solid #ddd;
            perspective: 100px;
            margin: 10px auto;
        }
        #son{
            width: 100px;
            height: 100px;
            background-color: #ccc;
            border: 1px solid #ddd;
            margin: 30px auto;
            transition: transform 5s linear 2s;
        }
        #son:hover{
            transform: rotate3d(1,1,1,360deg);
        }
    </style>
</head>
<body>
    <div id="parent">
        <div id="son">360°旋转</div>
    </div>
</body>
</html>

三、动画

1、在多单状态里,做温柔过渡的功能

2、浏览器兼容性

 -webkit- 谷歌

 -moz- 火狐

 -o- 欧鹏

3、创建以动画片步骤

A、声明动画

a、起名

b、使用
@keyframes 声明动画的重大帧

要帧:特殊时刻接触上的状态

B、使用起名动画片

 属性:animation

 通过上述属性调用动画的称

 设置相关操作

4、声明动画

 通过 @keyframe 声明动画

 语法:@keyframes 动画名称

   {

    from | 0%{

    //动画开始的状态,CSS属性

    width:0px;

    }

    [percent{

    //动画的中间状态

    }]

    10%{

    width:10px;

    }

    20%{

    width:20%;

    }

    to | 100%{

    //动画结束之状态

    width:100px;

    }

   }

5、调用动画

 属性

  a、animation-name:动画名称

  b、animation-duration:动画就一个周期所要之日子(s|ms为单位)

  c、animation-timing-function:动画执行进程被的年华进度曲线函数

  取值:ease,linear,ease-in,ease-out,ease-in-out

  d、animation-delay:播放动画前的推迟

  e、animation-iteration-count:动画播放次数

  取值:

  定数值:播放指定次数

  infinite:无限次

  f、animation-direction:动画播放方向

  取值:

  normal:正常,从头到尾

  alternate:轮播,在奇数次等及正好向播放,在偶数不成达到逆向播放

  g、animation:动画的归纳性能

  animation:name duration timing-function delay
iteration-count direction;(后四独可概括)

  h、animation-fill-mode:动画播放前后元素的状态

  取值:

  none:默认,不改变默认行为

  forwards:动画就后,保持以终极一个幅的状态

  backwards:动画显示之前,保持以第一独第一帧的状态

  both:结合了forwards和backwards的状态

  i、animation-play-state:设置动画播放状态

  取值:

  paused:暂停

  running:播放

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动画练习 - 钟表</title>
    <style>
        #circle{
            width: 500px;
            height: 500px;
            border: 3px solid #00f;
            border-radius: 50%;
            margin: auto;
        }
        #hour{
            float: left;
            height: 125px;
            border: 4px solid #bbf;
            position: relative;
            top: 125px;
            left: 250px;
            transform-origin: 0 125px;
            animation: hours 3600s linear 0s infinite;
        }
        #second{
            float: left;
            height: 200px;
            border: 2px solid #00f;
            position: relative;
            top: 54px;
            left: 244px;
            transform-origin: 0 200px;
            animation: seconds 60s linear 0s infinite;
        }
        /*声明动画*/
        @keyframes hours{
            from{
                transform: rotate(0deg);
                /*transform-origin: 0 125px;*/
            }
            25%{
                transform: rotate(90deg);
            }
            50%{
                transform: rotate(180deg);
            }
            75%{
                transform: rotate(270deg);
            }
            to{
                transform: rotate(360deg);
            }
        }
        @keyframes seconds{
            from{
                transform: rotate(0deg);
                /*transform-origin: 0 200px;*/
            }
            25%{
                transform: rotate(90deg);
            }
            50%{
                transform: rotate(180deg);
            }
            75%{
                transform: rotate(270deg);
            }
            to{
                transform: rotate(360deg);
            }
        }
    </style>
</head>
<body>
    <div id="circle">
        <b id="hour"></b>
        <b id="second"></b>
    </div>    
</body>
</html>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图