ZG前端学习系统day14 2020-11-19

关键帧动画

核心思想 :1.制作动画的轨迹 2. 调用动画
在style标签中先设置
@keyframes 帧动画名字 {
from{
transform:translate(x,y)
}
to{
transform:translate(x,y)
}
}
from–to的写法只能确定0%~100% 如果要设置多个帧的话使用百分比。
在那个盒子使用关键帧就对拿个进行调用
animation: name duration timing-function delay iteration-count direction fill-mode;
用到拿个改那个,用不到的直接删掉。

<!DOCTYPE html><html lang="en">
<head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        * {            margin: 0;            padding: 0;        }
        .box {            width: 400px;            height: 400px;            background: pink;        }
        .box1 {            width: 100px;            height: 100px;            background: #f00;            animation: move 4s linear infinite;        }
        @keyframes move {            0% {                transform: translate(0, 0);            }
            25% {                transform: translate(300px, 0);            }
            50% {                transform: translate(300px, 300px)            }
            75% {                transform: translate(0, 300px);            }
            100% {                transform: translate(0, 0);            }        }    </style></head>
<body>    <!-- 制作动画轨迹    调用动画 -->    <div class="box">        <div class="box1">
        </div>    </div>
</body>
</html>

直接引用外部的帧动画效果
网址(
https://animate.style/
)右键 --查看源代码–找到link标签中的animate.min.css文件下载放入到自己的css文件中 通过对照自己想要什么方法就修改相应的内容
利用帧动画的一个玫瑰花效果

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        *{            margin: 0;            padding: 0;        }        .box{            width: 300px;            height: 285px;            margin: 250px auto;            position: relative;        }        .box p{            line-height: 285px;            text-align: center;            font-size: 44px;            font-weight: bold;            color: #ef696c;            text-shadow: 14px 14px  4px pink;        }        .box img{            position: absolute;            left: 0;            top: 0;            transform: scale(0);            opacity: 0;        }        .box img:nth-child(1){            animation: move 8s linear infinite ;        }        .box img:nth-child(2){            animation: move 8s  2s linear  infinite ;        }        .box img:nth-child(3){            animation: move 8s  4s linear  infinite ;        }        .box img:nth-child(4){            animation: move 8s 6s linear  infinite ;        }        .box img:nth-child(5){            animation: move 8s 8s linear  infinite ;        }        @keyframes move{            0%{                transform: scale(0);                opacity: 0;            }            25%{                transform: scale(1);                opacity: .5;            }            50%{                transform: scale(2);                opacity: 1;            }            75%{                transform: scale(3);                opacity: .5;            }            100%{                transform: scale(4);                opacity: 0;            }        }    </style></head><body>    <div class="box">         <img src="./images/hua2.png" alt="">        <img src="./images/hua2.png" alt="">        <img src="./images/hua2.png" alt="">        <img src="./images/hua2.png" alt="">        <img src="./images/hua2.png" alt="">        <p>LOVE</p>    </div></body></html>

flex弹性盒子布局

弹性盒子 css3中一种新的布局模式提供给了一种更加有效的方式来对一个容器(父元素)中的子元素(项目)进行排列对齐和分配空白空间
display:flex 让父元素变成弹性盒子,来控制子元素的布局,子元素会沿着主轴的方向对齐
备注:默认主轴是x轴,还可以设置y方向
特点:1子元素类似行内块元素,即使行内元素也可以设置宽高。
2 子元素的float clear vertical-align属性失效
flex弹性布局中一些常用的属性
1 改变主轴的方向:flex-direction{row 。column)
2 主轴的对齐方式: justify-content{flex-start。flex-end。center。space-between。space-around}
3 侧轴的对齐方式 align-items{flex-start。flex-end。center。space-between。space-around}
4 项目折行 **flex-wrap{**默认nowrap}
5 侧轴对齐来控制中间的间隙 align-content{flex-start。flex-end。center。space-between。space-around}
6作用在子元素上的 align-self控制被选中项目侧轴的对齐方式{flex-start。flex-end。center。space-between。space-around}
order 排序优先级 数越大 越往后排 默认的情况是0 支持负值
flex中{flex-shrink和flex-grow}

利用flex弹性布局做骰子的6个面

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        *{            margin: 0;            padding: 0;        }        html,body{            height: 100%;        }        body{            display: flex;            align-items: center;                     }        .box {            width: 100%;            display: flex;           justify-content: space-between;        }        .box div{            display: flex;            width: 200px;            height: 200px;            background: #e7e7e7;            border-radius: 5px;            box-shadow:  inset 0 5px white, inset 0 -5px #bbb, inset 5px 0 #d7d7d7, inset -5px 0 #d7d7d7;            padding: 20px;                    }        .box span{            width: 30px;            height: 30px;            border-radius: 50%;            background: #333;            box-shadow: inset 0 3px #111, inset 0 -3px #555;        }                .box div:nth-child(1) {            justify-content: center;            align-items:center ;        }        .box div:nth-child(2){            justify-content:space-between;        }        .box div:nth-child(2) span:nth-child(2){            align-self: flex-end;        }        .box div:nth-child(3){            justify-content:space-between;        }        .box div:nth-child(3) span:nth-child(2){            align-self: center;        }        .box div:nth-child(3) span:nth-child(3){            align-self: flex-end;        }        .box p{            display: flex;        }        .box div:nth-child(4){            justify-content: space-between;        }        .box div:nth-child(4) p{            flex-direction: column;            justify-content: space-between;        }         .box div:nth-child(5) p{            flex-direction: column;            justify-content: space-between;        }         .box div:nth-child(5) p:nth-child(2){            justify-content: center;        }        .box div:nth-child(5){            justify-content: space-between;        }        .box div:nth-child(6) p{            flex-direction: column;            justify-content: space-between;        }         .box div:nth-child(6){            justify-content: space-around;        }         </style></head><body>    <div class="box">        <div>            <span></span>        </div>        <div>            <span></span><span></span>        </div>        <div>            <span></span>            <span></span>            <span></span>        </div>        <div>            <p><span></span><span></span></p>            <p><span></span><span></span></p>        </div>        <div>            <p><span></span><span></span></p>            <p><span></span></p>            <p><span></span><span></span></p>        </div>        <div>            <p>                <span></span>                <span></span>                <span></span>            </p>            <p>                <span></span>                <span></span>                <span></span>            </p>        </div>    </div></body></html>~

计算 calc(expression) 数学表达式 可支持+ - * /进行运算

less预处理

CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。
定义 @变量名 : 值 (中间用冒号连接)
引用 变量嵌套在属性名中需要使用{ }
可以不带参数的混入还可以带参数调用 像函数一样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值