2021-11-16webday2

今天是web前端教学实习第二天。

所学内容:

1. float 浮动

用来将盒子放在指定的位置排列好,是实现水平布局首选方案.

清除浮动 

原因:浮动元素脱离文档流,父级检测不到子级的高度,父级无法撑开

解决方案:1. 直接给父级一个高度 2.在父级使用overflow:hidden

overflow:hidden的作用: 1.隐藏溢出2.解决塌陷3.清除浮动

2.position 定位

 relative相对定位:不改变元素特性 参考物是原位  不脱离文档流

 absolute绝对定位:脱离文档流  参考物是最近的使用了定位的父级 如果没有,就是body

 fixed固定定位:脱离文档流  参考物是浏览器窗口

 static静态定位(默认)

3. tranform 变形

translate 移动

rotate 旋转

多个变形用空格隔开,如

transform: translateY(100px) scale(2) rotate(45deg);

 若像下面这样分开写,则会应用最后一个变形.

transform: translateY(100px);
transform: rotate(45deg);
transform: scale(2); 

4. animation 动画

定义关键帧动画

@keyframes 动画名{
            关键帧
        }

应用动画

div{
    animation:动画名 动画执行时间[动画延迟时间 动画运动曲线 运动次数 是否反向执行 是否保留最后一帧]
}

5. 课堂案例 旋转立方体和轮播图

旋转立方体代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>旋转立方体</title>
    <style>

        /* 定义关键帧动画 */

        /* @keyframes 动画名{
            关键帧
        } */
        @keyframes roll {
            from{
                transform: rotateX(0) rotateY(0) rotateZ(0);
            }
            to{
                transform: rotateX(360deg) rotateY(720deg) rotateZ(360deg);
            }
        }
    

        *{
            margin: 0;
            padding:0;
        }
        div{
            width: 200px;
            height: 200px;
            background-color: skyblue;
            line-height: 200px;
            text-align: center;
            color: white;
            font-size: 100px;
            position: absolute;
        }
        .wrap{
            padding: 100px;
            background-color: transparent;

            /* animation : 动画名 动画执行时间 
            [动画延迟时间 动画运动曲线 运动次数 是否反向执行 是否保留最后一帧] */
            transform-style: preserve-3d;
            animation: roll 4s 1s linear infinite ;
           
        }
        .wrap div:nth-last-of-type(1){
            transform: rotateY(-90deg) translateZ(100px);
            background-color: tomato;
        }
        .wrap div:nth-last-of-type(2){
            transform: rotateY(90deg) translateZ(100px);
            background-color: turquoise;
        }
        .wrap div:nth-last-of-type(3){
            transform: rotateX(90deg) translateZ(100px);
            background-color: violet;
        }
        .wrap div:nth-last-of-type(4){
            transform: rotateX(-90deg) translateZ(100px);
            background-color: yellow;
        }
        .wrap div:nth-last-of-type(5){
            transform: translateZ(100px);
            background-color: salmon;
        }
        .wrap div:nth-last-of-type(6){
            transform: rotateX(180deg) translateZ(100px);
            background-color: purple;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <!-- 左右 -->
        <div>A</div>
        <div>B</div>
        <!-- 上下 -->
        <div>C</div>
        <div>D</div>
        <!-- 前后 -->
        <div>E</div>
        <div>F</div>
    </div>
</body>
</html>

轮播图代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>轮播图</title>
    <style>
        @keyframes move {
            0%{left:0}
            24%{left: 0;}
            26%{left: -400px;}
            49%{left: -400px;}
            51%{left: -800px;}
            74%{left: -800px;}
            76%{left: -1200px}
            98%{left: -1200px}
            100%{left: -1600px;}
        }
        *{
            margin: 0;
            padding: 0;
        }
        .wrap{
            width: 400px;
            height: 300px;
            background-color: gold;
            position: relative;
            overflow: hidden;
        }
        .move{
            width: 2000px;
            height: 300px;
            background-color: snow;
            position: absolute;
            animation: move 10s linear infinite;
        }
        .move div{
            float: left;
            width: 400px;
            height: 300px;

        }
    </style>
</head>
<body>
    <div class="wrap">
        <div class="move">
            <div style="background-color: tomato;"></div>
            <div style="background-color: yellow;"></div>
            <div style="background-color: cyan;"></div>
            <div style="background-color: greenyellow;"></div>
            <div style="background-color: tomato;"></div>   
        </div>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值