姜玉琪_20210113-姜玉琪

知识点总结:

1、transform

​ transform 是 css3 的属性,该属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放, 移动,倾斜等。

2、transition

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

transition-property 指定CSS属性的name,transition效果 transition-duration transition效果需要指定多少秒或毫秒才能完成 transition-timing-function 指定transition效果的转速曲线 transition-delay 定义transition效果开始的时候

transition-timing-function 常用的值有:

3、动画

动画属性可以逐渐地从一个值变化到另一个值,比如尺寸大小、数量、百分比和颜色 定义语法:

@keyframes animationName{
from {}
to {}
}

4、例子:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>翻转</title>
        <style type="text/css">
            .box{
                /* 居中显示 */
                margin: 200px auto;
                width: 300px;
                position: relative;
                transition: all .2s linear;
                /* 保留 3D 效果 */
                transform-style: preserve-3d;
                
                perspective: 800px;
            }
            
            .box:hover{
                transform: rotateY(180deg);
            }
            
            .front,.back{
                position: absolute;
                top: 0;
                left: 0;
                width: 300px;
                height: 300px;
                border-radius: 50%;
                font-size: 40px;
                text-align: center;
                line-height: 300px;
            }
            
            .front{
                z-index: 1;
                background-color: green;
            }
            .back{
                background-color: blue;
                transform: rotateY(180deg);
            }
        </style>
    </head>
    <body>
        
        <div class="box">
            <div class="front">云创动力</div>
            <div class="back">IT特种兵</div>
        </div>
    </body>
</html>

5、例子二:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>导航栏</title>
        <style type="text/css">
            ul > li {
                /* 相对定位 */
                position: relative;
                /* 列表尺寸 */
                width: 150px;
                height: 30px;
                /* 去掉 列表 前的点 */
                list-style: none;
                /* 浮动到一行 */
                float: left;
                /* 距离左边元素 15 像素 */
                margin-left: 15px;
                /* 鼠标样式 修改为 手指 */
                cursor: pointer;
                /* 文字居中显示 */
                text-align: center;
                /* 纵向居中 */
                line-height: 30px;
                /* 字体加粗 */
                font-weight: bold;
                
                /* 保留3d效果 */
                transform-style: preserve-3d;
                
                /* 过渡效果 */
                transition: all 1s linear;
            }
            ul > li:nth-child(1){
                margin-left: 0;
            }
            
            ul > li:hover{
                transform: rotateX(90deg);
            }
            
            .top, .bottom{
                width: 150px;
                height: 30px;
                /* 绝对定位 */
                position: absolute;
                top: 0;
                left: 0;
            }
            .top{
                background-color: #ccc;
                transform: translateZ(15px);
            }
            .bottom{
                background-color: lightyellow;
                /* 旋转 */
                transform: translateY(15px) rotateX(-90deg);
            }
        </style>
    </head>
    <body>
        <ul>
            <!-- (li>div.top+div.bottom)*5 tab -->
            <li>
                <div class="top">云创动力</div>
                <div class="bottom">首页</div>
            </li>
            <li>
                <div class="top">云创动力</div>
                <div class="bottom">首页</div>
            </li>
            <li>
                <div class="top">云创动力</div>
                <div class="bottom">首页</div>
            </li>
            <li>
                <div class="top">云创动力</div>
                <div class="bottom">首页</div>
            </li>
            <li>
                <div class="top">云创动力</div>
                <div class="bottom">首页</div>
            </li>
        </ul>
        
    </body>
</html>

6、例子3:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>相册</title>
        <style type="text/css">
            body{
                perspective: 1000px;
            }
            
            .box{
                /* 相对定位 */
                position: relative;
                width: 280px;
                height: 200px;
                /* 居中 */
                margin: 200px auto;
                /* 保留3d 效果 */
                transform-style: preserve-3d;
                
                transform: rotateX(-20deg);
                
                animation: rotatu 6s linear infinite;
            }
            
            .box:hover{
                /* 动画暂停 */
                animation-play-state: paused;
            }
            .box>div{
                /* 绝对定位 */
                position: absolute;
                top: 0;
                left: 0;
                width: 280px;
                height: 200px;
                background-image: url(img/2.jpg);
                background-size: cover;
            }
            
            .box>div:nth-child(1){
                transform: translateZ(350px);
            }
            
            .box>div:nth-child(2){
                transform: rotateY(60deg)  translateZ(350px) ;
            }
            .box>div:nth-child(3){
                transform: rotateY(120deg) translateZ(350px) ;
            }
            
            .box>div:nth-child(4){
                transform: rotateY(180deg) translateZ(350px) ;
            }
            .box>div:nth-child(5){
                transform: rotateY(240deg) translateZ(350px) ;
            }
            .box>div:nth-child(6){
                transform: rotateY(300deg) translateZ(350px) ;
            }
            
            @keyframes rotatu{
                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>

7、布局:

​ CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者 主视口/窗口的位置。在这将涉及更多关于页面布局技术的细节:

正常布局流

​ 正常布局流(normal flow)是指在不对页面进行任何布局控制时,浏览器默认的HTML布局方式。

display 属性

弹性盒子

网格

浮动

定位

CSS 表格布局

多列布局

(1)浮动

float 属性最初只用于在成块的文本内浮动图像,但是现在它已成为在网页上创建多列布局的最常用 工具之一。

(2)清除浮动

所有在浮动下面的自身不浮动的内容都将围绕浮动元素进行包装,如果 没有处理这些元素,就会变得很糟糕。

clear 属性,当你把这个应用到一个元素上时,它主要意味着"此处停止浮动"——这个元素和源码中后 面的元素将不浮动,除非将一个新的 float 声明应用到此后的另一个元素。

clear 可以取三个值:

left :停止任何活动的左浮动

right :停止任何活动的右浮动

both :停止任何活动的左右浮动

心得体会:

老师讲的例子很有用,有利于知识的掌握!

标签

评论


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