Stack Overflow на русском Asked on December 15, 2020
Я могу сделать встроенный круг SVG как здесь:
<svg height="100" width="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
Однако, я пытаюсь понять свойства cx
и cy
и height
и width
.
Я хочу получить круг 15×15 пикселей, вокруг которого нет свободного места, но я не могу понять, как сделать это правильно.
<svg height="15" width="15"><circle cx="0" cy="0" r="9" stroke="black" stroke-width="1" fill="red" /></svg>
<svg height="15" width="15"><circle cx="7.5" cy="7.5" r="9" stroke="black" stroke-width="1" fill="red" /></svg>
Как правильно достичь того, чего я хочу?
Вы можете попробовать сами здесь:
Свободный перевод вопроса How to set correct Inline SVG Circle coordinates от участника @SimonS.
Мне хотелось бы показать общую технику, как с позиционировать элемент SVG, чтобы не было лишнего пустого пространства вокруг элемента.
style="border:1px solid"
<svg height="100" width="100" style="border:1px solid">
<circle id="circ" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
width, height, x, y
,прямоугольника, ограничивающего окружность, с помощью метода JS getBBox()<svg height="100" width="100" viewBox="0 0 100 100" style="border:1px solid">
<circle id="circ" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<script>
let bb = circ.getBBox();
console.log(bb);
</script>
По результатам видно, что ширина прямоугольника составляет 80px, отступы от начала холста SVG 10px, справа отступ тоже 10px
итого: 10 + 80 + 10 = 100px
<svg height="84" width="84" viewBox="0 0 84 84" style="border:1px solid">
<circle id="circ" cx="42" cy="42" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<script>
let bb = circ.getBBox();
console.log(bb);
</script>
Рамку вокруг холста можно удалить, так как она использовалась для визуальной отладки позиционирования.
Свободный перевод ответа от участника @Alexandr_TT.
Answered by Alexandr_TT on December 15, 2020
0 Asked on October 13, 2020 by alisher
1 Asked on October 12, 2020
javascript %d1%81%d0%be%d0%b1%d1%8b%d1%82%d0%b8%d1%8f %d1%86%d0%b8%d0%ba%d0%bb%d1%8b
1 Asked on October 9, 2020 by braflovsky
python %d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc %d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba
1 Asked on October 8, 2020
1 Asked on October 6, 2020 by eriksongerson
1 Asked on October 5, 2020
2 Asked on October 4, 2020 by webdev96
2 Asked on October 3, 2020 by 1div0
1 Asked on October 1, 2020 by argo-troll
1 Asked on September 29, 2020 by ginger-bread
ip %d0%ba%d0%be%d0%bc%d0%bc%d1%83%d1%82%d0%b0%d1%82%d0%be%d1%80
2 Asked on September 28, 2020
matplotlib numpy opencv python %d0%b8%d0%b7%d0%be%d0%b1%d1%80%d0%b0%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f
1 Asked on September 28, 2020 by yuri-petrov
1 Asked on September 27, 2020 by padawan
Get help from others!
Recent Questions
Recent Answers
© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP