Поэтому проблема заключается в том, что я пытаюсь оживить заполнение элемента html круга. Круг начинается серым цветом, пользователь будет указывать номер, и круг изменит цвет, добавив еще один синий круг в проценты от исходного круга, указанного пользователем. Мне трудно понять, как оживить или создать заполнение синего круга.
HTML
<div class="circle circle-outer-border">
<div class="circle circle-background">
<div class="circle circle-fill"></div>
</div>
</div>
CSS
.circle{
height: 200px;
width: 200px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
}
.circle-outer-border{
border: 1px solid black;
}
.circle-background{
border: 20px solid #b1b1b1;
background-color: transparent;
margin-left: -1px; margin-top: -1px /** to make up for outer-border margin**/
}
.circle-fill{
border: 20px solid #147fc3;
background-color: transparent;
margin-left: -21px; margin-top: -21px;
}
Таким образом, у меня есть 3 круга, один для только черной границы, тот, который показывает только серая рамка, а третья - это третий круг, который я буду анимировать, чтобы действовать как "синяя заливка". Я уложил их сверху друг от друга, чтобы дать ему эффект заполнения набора. Опять же, я просто не уверен, как сделать анимацию, есть ли способ показать часть синего круга и постоянно показывать больше, пока не покажет весь синий круг? Спасибо вам за помощь. Я пишу это в приложении angularjs, но еще не написал код angularjs.
Я немного упростил ваше решение. Вместо 3 DIVs всего 2.
Внешний DIV рисует круг и говорит, что "мои дети не могут переливаться".
Внутренний DIV - это простой прямоугольник. Он тот, который вы оживляете, начиная со дна и двигая его вверх и вниз.
Точно так же, как смотреть иллюминатор на лодке!
.circle{
height: 200px;
width: 200px;
}
.circle-outer-border{
position: relative;
border: 1px solid black;
border-radius: 100px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
overflow: hidden;
}
.circle-fill{
position: absolute;
top: 0;
left: 0;
background-color: #147fc3;
}
.animated .circle-fill {
-webkit-animation: fillerup 5s infinite;
animation: fillerup 5s infinite;
}
.static .circle-fill {
top: 150px;
}
@-webkit-keyframes fillerup {
0% {
top: 200px;
}
100% {
top: 0px;
}
}
@keyframes fillerup {
0% {
top: 200px;
}
100% {
top: 0;
}
}
<div class="circle circle-outer-border animated">
<div class="circle circle-fill"></div>
</div>
<br/>
<div class="circle circle-outer-border static">
<div class="circle circle-fill"></div>
</div>
overflow: hidden;
смотреть с «другой точки зрения».