欢迎光临散文网 会员登陆 & 注册

HTML+CSS小项目:趣味加载项

2022-08-22 16:18 作者:huawei13Pro  | 我要投稿

来源:我的学习笔记

loading effect

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>loading-animation</title>

<style type="text/css">

*{

margin: 0;

padding: 0;

box-sizing: border-box;

}

body{

display: flex;

justify-content: center;

align-items: center;

background: #EDF1F4;

min-height: 100vh;

}

.loader{

display: flex;

flex-direction: row;

}

.loader div{

position: relative;

width: 40px;

height: 200px;

margin: 20px;

overflow:hidden ;

border-radius: 50px;

background: linear-gradient(to bottom,rgba(0, 0, 0, 0.05), #EDF1F4);

border: 2px solid #EDF1F4;

box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1);

-15px -15px 20px #fff,

inset -5px -5px 5px rgba(255, 255, 255, 0.5),

inset 5px 5px 5px rgba(0, 0, 0, 0.05);

}

.loader div::before{

content: "";

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

z-index: 100;

border-radius: 50px;

box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1);

-15px -15px 20px #fff,

inset -5px -5px 5px rgba(255, 255, 255, 0.5),

inset 5px 5px 5px rgba(0, 0, 0,0.05);

}

.loader div::before{

content: "";

position: absolute;

top: 0;

left: 0;

width: 36px;

height: 36px;

border-radius: 50%;

box-shadow: inset -5px -5px 5px rgba(0, 0, 0, 0.1),

0 420px 0 400px  #2196f3;

animation: animate 2.5s ease-in-out infinite;

animation-delay: calc(var(--x) * -0.3s);

transform: translateY(160px);

}

@keyframes animate{

0%{

transform: translateY(160px);

filter: hue-rotate(0deg);

}

50%{

transform: translateY(0px);

filter: hue-rotate(180deg);

}

100%{

transform: translateY(160px);

filter: hue-rotate(360deg);

}

}

</style>

</head>

<body>

<div class="loader">

<div style="--x:0"></div>

<div style="--x:1"></div>

<div style="--x:2"></div>

<div style="--x:3"></div>

<div style="--x:4"></div>

<div style="--x:5"></div>

</div>

</body>

</html>


HTML+CSS小项目:趣味加载项的评论 (共 条)

分享到微博请遵守国家法律