Повернуть круг относительно своей оси
Етот код вращает круг оносительно своей оси, чтоб задать ось вращения можно использовать transform-origin
<svg width="220" height="220" padding="0">
<circle class="myCircle"/>
</svg>
<style>
.myCircle {
margin:0;
cx:110;
cy:110;
r:100;
transform-origin: center;
transform: rotate(-60deg);
fill: none;
stroke: #333;
stroke-width: 20;
stroke-dasharray: calc(2*3.14*100);
transition: stroke-dashoffset 1s;
}
svg:hover{
stroke-dashoffset: calc(2*3.14*100);
}
</style>
|
Цитата:
|
|
fori,
или так ...
<svg width="200px" height="200px">
<circle class="myCircle"/>
</svg>
<style>
.myCircle {
cx: 95;
cy: 95;
r: 85;
transform-origin: 95px;
transform: rotate(60deg);
fill: none;
stroke: #333;
stroke-width: 20;
stroke-dasharray: 534;
transition: stroke-dashoffset 1s;
}
svg:hover {
stroke-dashoffset: 534;
}
</style>
|
Спасибо, то что нужно))
Позвольте спросить как изменять stroke-dasharray напримеор в hover К примеру етот код переносит черную полоску вверх, как сделать так чтоб ета полоска уменьшалась при перетягивании вверх по 2д-окружности относительно центра
<svg width="220" height="220" padding="0">
<circle class="myCircle"/>
</svg>
<style>
.myCircle {
margin:0;
cx:110;
cy:110;
r:100;
transform-origin: center;
transform: rotate(-60deg);
fill: none;
stroke: #333;
stroke-width: 20;
stroke-dasharray: calc(2*3.14*100/3) calc(2*3.14*100*2 /3);
transition: stroke-dashoffset 1s;
}
svg:hover{
stroke-dashoffset: calc(2*3.14*100/3);
stroke-dasharray: 0 calc(2*3.14*100); //не работает
}
</style>
|
fori,
svg:hover .myCircle
<svg width="220" height="220" padding="0">
<circle class="myCircle"/>
</svg>
<style>
.myCircle {
margin:0;
cx:110;
cy:110;
r:100;
transform-origin: center;
transform: rotate(-60deg);
fill: none;
stroke: #333;
stroke-width: 20;
stroke-dasharray: calc(2*3.14*100/3) calc(2*3.14*100*2 /3);
transition: 1s;
}
svg:hover .myCircle{
stroke-dashoffset: calc(2*3.14*100/3);
stroke-dasharray: 0 calc(2*3.14*100);
}
</style>
|
Спасибо, позвольте спросить, насколько правильный подход у создании такой анимации у мненя, или можно было выбрать лучшый подход
<svg width="220" height="220" padding="0">
<circle class="myCircle" />
</svg>
<style>
.myCircle {
margin: 0;
cx: 110;
cy: 110;
r: 100;
transform-origin: center;
stroke-dashoffset: calc(2*3.14*100/3);
stroke-dasharray: 0 calc(2*3.14*100);
transform: rotate(180deg);
fill: none;
stroke: #333;
stroke-width: 20;
transition: 1s;
}
svg:hover .myCircle {
transform: rotate(60deg);
stroke-dasharray: calc(2*3.14*100/3) calc(2*3.14*100*2 /3);
}
</style>
|
fori,
в тег форматирования добавьте html run height=500 |
| Часовой пояс GMT +3, время: 15:26. |