Tah*_*zot 2 javascript css css-animations
在我的动画中,我喜欢使用变换。这也可以用财产来实现left/right。但我喜欢使用变换。我需要将freeze-loading-bar100% 向右移动,它应该是一个无限循环。
我怎样才能将其
loading-bar向右移动100%/完全?
*,
*::before,
*::after {
box-sizing: border-box;
}
.app-view {
height: 200px;
max-width: 300px;
margin: 1rem auto;
background-color: #fff;
box-shadow: -2px 2px 4px 0 #e0e0e0ad, 1px -1px 9px 0 #dddddd2e;
padding: 2rem;
display: flex;
align-items: center;
justify-content: center;
}
.freeze-loading {
position: relative;
width: 100%;
height: 5px;
box-shadow: inset 1px 0px 4px 0 #ddd;
/** disual purpose **/
/** overflow: hidden; **/
}
.freeze-loading-bar {
position: absolute;
left: 0;
width: 80px;
height: 100%;
background-color: rgb(0, 132, 255);
animation: freeze-loading-bar 2s linear infinite;
}
@keyframes freeze-loading-bar {
from {
transform: translateX(-100px);
}
to {
transform: translateX(100%);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="app-view">
<div class="freeze-loading">
<div class="freeze-loading-bar"></div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
保持元素全宽(使用左/右),然后使用渐变着色以仅为其一部分着色。现在您可以依赖translateX(100%)任何颜色的宽度:
.freeze-loading {
position: relative;
width: 100%;
max-width: 300px;
margin: 1rem auto;
height: 5px;
box-shadow: inset 1px 0px 4px 0 #ddd;
overflow: hidden;
}
.freeze-loading-bar {
--w:80px; /* the width of coloration */
position: absolute;
left: calc(-1*var(--w));
right: 0;
height: 100%;
background:
linear-gradient(rgb(0, 132, 255) 0 0)
0 / var(--w) 100%
no-repeat;
animation: freeze-loading-bar 2s linear infinite;
}
@keyframes freeze-loading-bar {
to {
transform: translateX(100%);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="freeze-loading">
<div class="freeze-loading-bar"></div>
</div>
<div class="freeze-loading">
<div class="freeze-loading-bar" style="--w:150px;"></div>
</div>Run Code Online (Sandbox Code Playgroud)
另一种动画:
.freeze-loading {
position: relative;
width: 100%;
max-width: 300px;
margin: 1rem auto;
height: 5px;
box-shadow: inset 1px 0px 4px 0 #ddd;
overflow: hidden;
}
.freeze-loading-bar {
--w:80px; /* the width of coloration */
position: absolute;
left: 0;
right: var(--w);
height: 100%;
background:
linear-gradient(rgb(0, 132, 255) 0 0)
0 / var(--w) 100%
no-repeat;
animation: freeze-loading-bar 1s linear infinite alternate;
}
@keyframes freeze-loading-bar {
to {
transform: translateX(100%);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="freeze-loading">
<div class="freeze-loading-bar"></div>
</div>
<div class="freeze-loading">
<div class="freeze-loading-bar" style="--w:150px;"></div>
</div>Run Code Online (Sandbox Code Playgroud)
另一种语法:
.freeze-loading {
position: relative;
width: 100%;
max-width: 300px;
margin: 1rem auto;
height: 5px;
box-shadow: inset 1px 0px 4px 0 #ddd;
overflow: hidden;
}
.freeze-loading-bar {
--w:80px; /* the width of coloration */
position: absolute;
left: 0;
right: 0;
height: 100%;
background:
linear-gradient(rgb(0, 132, 255) 0 0)
0 / var(--w) 100%
no-repeat;
animation: freeze-loading-bar 2s linear infinite;
transform: translateX(calc(-1*var(--w)));
}
@keyframes freeze-loading-bar {
to {
transform: translateX(100%);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="freeze-loading">
<div class="freeze-loading-bar"></div>
</div>
<div class="freeze-loading">
<div class="freeze-loading-bar" style="--w:150px;"></div>
</div>Run Code Online (Sandbox Code Playgroud)
还有另外一个:
.freeze-loading {
position: relative;
width: 100%;
max-width: 300px;
margin: 1rem auto;
height: 5px;
box-shadow: inset 1px 0px 4px 0 #ddd;
overflow: hidden;
}
.freeze-loading-bar {
--w:80px; /* the width of coloration */
position: absolute;
right: 0;
width:calc(100% + var(--w));
height: 100%;
background:
linear-gradient(rgb(0, 132, 255) 0 0)
0 / var(--w) 100%
no-repeat;
animation: freeze-loading-bar 2s linear infinite;
}
@keyframes freeze-loading-bar {
to {
transform: translateX(100%);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="freeze-loading">
<div class="freeze-loading-bar"></div>
</div>
<div class="freeze-loading">
<div class="freeze-loading-bar" style="--w:150px;"></div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |