Что должна возвращать функция getBoundingClientRect() преобразованного элемента SVG?

Сегодня я проверил, что происходит, когда вы используетеgetBoundingClientRect()на SVG. элемент, который был повернут.

Тест: http://phrogz.net/svg/getBoundingClientRect-on-rotated-elements.html

Результат:

  • Chrome, Safari, Opera и IE вычисляют локальный (непреобразованный) ограничивающий прямоугольник элемента, а затем вернуть клиентский прямоугольник для этого ограничивающего прямоугольника. Это может привести к тому, что прямоугольник клиента будет больше, чем кажется уместным.

  • Firefox, с другой стороны, обрезает прямоугольник клиента, чтобы он соответствовал самому элементу.

 
Visual appearance of the two cases;

Какое поведение соответствует спецификациям?

Что бы это ни стоило, я предпочитаю поведение Firefox, но (не разбираясь в спецификациях) думаю, что отклонение Firefox следует считать ошибкой.

9
задан Phrogz 17 May 2012 в 01:44
поделиться