左右摇摆动画
盒子模型
box-sizing:定义盒子模型,一共有两种盒子模型,IE盒子模型,W3C盒子模型
- 默认值:content-box,总宽度:margin+border+padding+width;【W3C盒子模型】
- border-box,总宽度:margin+width,width中包含了border+padding;[IE盒子模型]
- inhert:从父元素继承box-sizing属性
设置倒影
-webkit-box-reflect用来设置对象倒影
参数:默认值为none(无倒影)
- direction
* above:指定倒影在对象上方
* below:指定倒影在对象下方
* left:指定倒影在对象左边
* right:指定倒影在对象右边 - offset
- length:使用长度值来定义,可以为负值;
- percentage:使用百分比来定义倒影与对象之间的间隔,可以为负值;
- mask-box-image
- none:无遮罩图像
- url:使用绝对路径和相对路径来指定遮罩图像
- linear-gradient:使用线性渐变创建遮罩图像
- radial-gradient:使用径向渐变创建遮罩图像
- repeating-linear-gradient:使用重复线性渐变创建遮罩图像
- repeating-radiual-gradient:使用重复径向渐变创建遮罩图像
若定义了mask-box-image则必须指定offset
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右摇摆动画</title>
<link rel="stylesheet" href="./day_9.css">
</head>
<body>
<div class="container">
<div class="loader">
<div class="ball"></div>
</div>
</div>
</body>
</html>
CSS
*{
/*初始化页面,取消内外边距*/
margin: 0;
padding: 0;
/*盒子模型*/
box-sizing: border-box;
}
body{
/*使页面垂直水平居中*/
display: flex;
justify-content: center;
align-items: center;
/*使页面始终占据浏览器总高*/
height:100vh;
background-color: #1c1f2f;
}
.container{
-webkit-box-reflect: below 5px -webkit-linear-gradient(transparent 10% ,rgba(0,0,0,0.5));
}
.loader{
position:relative;
width: 200px;
height: 200px;
border-radius:50%;
border:20px solid transparent;
/*定义下边框与右边框颜色*/
border-right-color:#06c8f0;
border-bottom-color:#06c8f0;
/*顺时针旋转45度,变成向上的一个半圆*/
transform:rotate(45deg);
/*动画名称 时间 ease-in-out:两头慢中间快 无线 反向运行动画*/
animation:move 4s ease-in-out infinite alternate;
}
.ball{
position:absolute;
top:0;
left:0;
width: 100%;
height: 100%;
animation:move-reverse 4s ease-in-out infinite alternate;
}
/*定义白色小球,使用伪元素定义小球,可以保证旋转中心在.ball中心*/
.ball::before{
content:"";
position:absolute;
bottom:20px;
left:20px;
width: 30px;
height: 30px;
background-color: #fff;
border-radius:50%;
}
@keyframes move {
0%{
transform:rotate(0)
}
100%{
/*顺时针旋转90度*/
transform:rotate(90deg)
}
}
@keyframes move-reverse {
0%{
transform:rotate(0)
}
100%{
/*逆时针旋转180度*/
transform:rotate(-180deg)
}
}