webdevfan
@webdevfan
CEO & Co-Founder "Wacdis"

Как узнать настоящие размеры text тега при помощи Javascript?

Приветствую, друзья!

Спасибо, что обратили внимание на мой пост.
Есть такая конструкция:
<div style="width:530px; height:630px;">
<svg width="530" height="630" viewBox="0 0 530 630">
<g id="obj"><text font-family="'Open Sans'" font-size="25px" fill="rgb(0, 0, 0)">123123123</text></g>
</svg>
<div id="bRect"></div>
</div>

Тут видно, что в блоке 530х630 находится svg с таким же размером, также в блоке есть вложенный блок #bRect.
Моя задача: #bRect должен описывать контур #obj, а над #obj будут проводится манипуляции (перемещение, вращение, масштаб). Для этого нужно знать размер объекта и его смещение, а getBBox() и getBoundingClientRect() не возвращают правильный размер для text-объекта. Для манипуляции над объектами использую GSAP.

Вопросы:
1. Как узнать размер текста text или группы g#bRect, если использован шрифт Google Fonts.
2. Кто и что делает со смещением [x;y], которое возвращает getBBox(), чтобы поставить точно объекты #bRect и #obj.

Спасибо за помощь.
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
@ssumatokhin
Я если я не ошибся в синтаксисе, то на первый вопрос можно сделать так
let g = document.querySelector('#obj');
let tagText = g.firstElementChild;
let tagTextWidth = tagText.offsetWidth; // Размеры
let tagTextHeight = tagText.offsetHeight; // блока
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы