Почему инспектор Chrome показывает разные размеры для элементов одинакового размера в SVG? - PullRequest
1 голос
/ 13 апреля 2020

В следующем фрагменте инспектор Chrome сообщает, что div и foreignObject на 50% больше, чем rect и текстовый узел, хотя они все занимают одно и то же место на экране. Firefox сообщает одинаковые размеры для всех четырех. Что заставляет Chrome сообщать о разнице?

<svg viewBox="0 0 300 100" style="width: 300px; height: 100px;">
 <rect fill="#f5f5a0" width="244" height="73"></rect>
 <foreignObject width="244" height="73">
  <div>
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus efficitur quam sapien, in varius ipsum mollis quis.
  </div>
 </foreignObject>
</svg>

Chrome результаты инспектора:

Chrome inspector screenshots showing text node is 244x73, div is 366x108, foreignobject is 366x109.5, and rect is 244x73

Firefox результаты инспектора:

Firefox inspector screenshots showing text node is 242x73, div is 244x75, foreignObject is 244x73, and rect is 244x73

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Это действительно ошибка в chrome.

Вот мой размер постороннего объекта на windows 10 chrome 80.0.3987.149 (devicePixelRatio: 2).

windows

Ma c chrome хорошо работает (devicePixelRatio: 2): ma c

1 голос
/ 14 апреля 2020

Это, вероятно, вызвано известной ошибкой в ​​Chrome: Проблема 738022: getBoundingClientRect сообщает о двойном размере для дочерних объектов ForeignObject на мониторе HiDPI .

Указанный размер масштабируется с помощью devicePixelRatio, что на моей машине 1.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...