При использовании новой функции CSS object-fit
, как я могу получить доступ к результирующим параметрам, выбранным браузером JavaScript?object-fit: получить полученные размеры
Итак, допустим, foo.jpg
- 100x200 пикселей. Страница браузера/видового экрана имеет ширину 400 пикселей и высоту 300 пикселей. Затем дал этот CSS код:
img.foo {
width: 100%;
height: 100%;
object-fit: contain;
object-position: 25% 0;
}
Браузер теперь будет показывать изображение на самом верху с правильным соотношение сторон простирается до самого дна на второй квартал слева. Это приводит к тем размеры изображения:
- ширина: 150px
- высота: 300px
- слева 62.5px
- право: 212.5px
Так что JavaScript вызов (JQuery разрешено) давал бы мне те числа, которые я вычислил вручную? (Примечание: информация CSS сами не известны на JavaScript, поскольку пользователь может переписать их и даже добавить такие вещи, как min-width
)
Чтобы играть с кодом, я создал скрипку: https://jsfiddle.net/sydeo244/
если вы используете '$ ('img.foo'). outerWidth()' вы получите общую расчетную ширину элементов т. Непонятно, что вы спрашиваете –
Нет, 'outerWidth()' в этом случае не работает, так как это приведет к ширине «полного» изображения, поэтому оно вернет '400' из-за' width: 100% 'а не' 150' по желанию. – Chris
Не существует специального свойства, которое даст вам это значение, вам нужно использовать сгенерированный размер элемента 'img', а затем использовать свойства' naturalWidth'/'naturalHeight', чтобы получить его соотношение сторон, а затем вычислить его рендеринг размер (почти такой же вы сделали вручную). – LGSon