20210113贺佳磊

知识点总结

1、transform

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>transfrom</title>
        <style type="text/css">
            .box{
                width: 400px;
                height: 400px;      
                position: relative;
                transform-style: preserve-3d;
                transition: 1.5s;
                margin: 100px auto;
                perspective: 900px;
            }               
            .box:hover{
                transform: rotateY(180deg);
            }               
            .lv,.lan{
                width: 400px;
                height: 400px;
                border-radius: 50%;
                text-align: center;
                line-height: 400px;
                font-size: 25px;    
                background-color: aquamarine;
            }       
            .lv{
                position: absolute;
            }           
            .lan{
                background-color: aqua;
                transform: rotateY(180deg);
            }
        </style>
    </head>
    <body>
        <div class="box">
            <div class="lv">西安培华学院</div>
            <div class="lan">计科四班</div>
            </div>  
    </body>
</html>

none 定义不进行转换。
translate(x,y) 定义 2D 转换。移动
translate3d(x,y,z) 定义 3D 转换。
translateX(x) 定义转换,只是用 X 轴的值。
translateY(y) 定义转换,只是用 Y 轴的值。
translateZ(z) 定义转换,只是用 Z 轴的值。
scale(x[,y]?) 定义 2D 缩放转换。
scale3d(x,y,z) 定义 3D 缩放转换。
skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。

2、transition

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>transfrom导航栏</title>
        <style type="text/css">
            .box{
                margin: 100px auto;
                margin-left: 100px; 
                transform-style: preserve-3d;   
                transition: all 2s linear;
            }
            .box:hover{
                transform: rotateX(90deg);
            }   
            .up,.down{
                width: 300px;
                height: 100px;
                text-align: center;
                line-height: 100px;
                font-size: 30px;
                transition: 1.5s;
                border-radius: 50px;
            }
            .up{
                position: absolute;
                background-color: black;
                color: white;   
                transform: translateZ(50px);
            }
            .down{
                background-color: antiquewhite;
                transform:translateY(50px) rotateX(-90deg);
            }
        </style>
    </head>
    <body>
        <div class="box">
            <div class="up">今天</div>
            <div class="down">明天</div>
        </div>      
    </body>
</html>

transition 属性设置元素当过渡效果,四个简写属性为:

transition-property :指定CSS属性的name,transition效果

transition-duration :transition效果需要指定多少秒或毫秒才能完成

transition-timing-function :指定transition效果的转速曲线

transition-delay :定义transition效果开始的时候

transition-timing-function 常用的值有:

linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。

3、动画

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>旋转相册</title>
        <style type="text/css">
            body{
                perspective: 800px;
            }
            .box{
                position: relative;
                margin: 200px auto;
                width: 400px;
                height: 200px;
                transform-style: preserve-3d;           
                animation: turn 5s linear infinite;
                transform: rotateX(-20deg);
            }
            .box:hover{
                animation-play-state: paused;
            }
            .box>div{
                position: absolute;
                top: 0;
                left: 0;
                width: 400px;
                height: 300px;
                background-image: url(others/1.jpg);
                background-repeat: no-repeat;
                background-size:contain ;
            }
            .box>div:nth-child(1){
                transform: translateZ(450px);
            }
            .box>div:nth-child(2){
                transform: rotateY(60deg) translateZ(450px);
            }
            .box>div:nth-child(3){
                transform: rotateY(120deg) translateZ(450px);
            }
            .box>div:nth-child(4){
                transform: rotateY(180deg) translateZ(450px);
            }
            .box>div:nth-child(5){
                transform: rotateY(240deg) translateZ(450px);
            }
            .box>div:nth-child(6){
                transform: rotateY(300deg) translateZ(450px);
            }
            @keyframes turn{ 
                from {transform: rotateX(-20deg) rotateY(0deg);} 
                to {transform: rotateX(-20deg) rotateY(360deg);} 
                }
        </style>
    </head>
    <body>
        <div class="box">
            <div></div>
            <div></div>
            <div></div>
            <div></div>
            <div></div>
            <div></div>
        </div>
    </body>
</html>

说明
animation-name 指定要绑定到选择器的关键帧的名称
animation-duration 动画指定需要多少秒或毫秒完成
animation-timing-function 设置动画将如何完成一个周期
animation-delay 设置动画在启动前的延迟间隔。
animation-iteration-count 定义动画的播放次数。infifinite 无限次
animation-direction* 指定是否应该轮流反向播放动画。
animation-fifill-mode 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
animation-play-state 时),要应用到元素的样式。指定动画是否正在运行或已暂停。

4、布局(排版)

CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者

主视口/窗口的位置。在这将涉及更多关于页面布局技术的细节:

正常布局流

display 属性

弹性盒子

网格

浮动

定位

CSS 表格布局

多列布局

心得体会

第三天了哦,我能感觉到自己的进步真的很大,今天老师讲用css做动画效果,讲完让我们自己练习,我都可以自己用代码实现,其实这些东西真的需要自己下去多练习,熟能生巧嘛。就这样一天忙忙碌碌又收获满满的结束啦,有收获就有疑问,今天有一个小点我还不太懂,就是相对定位和绝对定位,希望老师可以抽空讲一讲,嘻嘻。就这样,明天继续努力,多学多练,加油!

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1