#css #svg
#css #svg
Вопрос:
У меня есть svg, который представляет собой стрелку, обращенную вправо. Однако я не могу сделать стрелку вниз, добавив transform: rotate() . Когда я меняю путь css svg, вся стрелка исчезает. Как мне это решить?
Перед:
После:
В моем html и css,
svg path {
transform: rotate(90);
}
<svg class="arrow-right" xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25">
<g id="ico___black" data-name="ico_amp;>_black" transform="translate(19525 16160)">
<path id="パス_60" data-name="パス 60" d="M1061.961,192.633l5.465,5.465,5.465-5.465"
transform="translate(-19707.389 -15080.434) rotate(-90)" fill="none" stroke="#2b2525"
stroke-width="2" />
<rect id="長方形_124" data-name="長方形 124" width="25" height="25" transform="translate(-19525 -16160)"
fill="none" />
</g>
</svg>
Комментарии:
1. Попробуйте преобразовать
svg
неsvg path
2. пожалуйста, используйте вместо этого этот svg: намного чище без стольких преобразований:
<svg width='24' height='24' viewBox='0 0 24 24'><title>navigate next</title> <path d='M10 6l-1.41 1.41 4.58 4.59-4.58 4.59 1.41 1.41 6-6z'></path> <path d='M0 0h24v24h-24z' fill='none'></path> </svg>
Также в CSS вам нужно сделать:svg path { transform: rotate(90deg); transform-origin: center center; }
в CSS вращение происходит вокруг точки 0,0. Вот почему вам нужно преобразовать начало координат в центр3. Чтобы понять, что произойдет, если вы не преобразуете источник, добавьте svg{overflow:visible} в свой css
Ответ №1:
вы можете применить преобразование к svg вместо пути.
svg {
transform: rotate(90);
}