@Dubrovin

Можно ли получить высоту/ширину у background с background-size: cover?

Здравствуйте,
у блока DIV установлено фоновое изображение через background-image: url() и размер изображения через background-size: cover.
Возможно ли через JS получить высоту/ширину отрендеренного фонового изображения в пикселях?
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@londhor
Сложно, но можно:

1. Получи начальное значение самой картинки в px (условно 1920х1080 px)
2. Получи размер div, в котором картинка (допустим 1440x900px).

В нашем случае размер BG будет высчитываться от высоты картинки и высоты блока.
Соответственно 1080/900 = 1.2. где 1.2, это соотношение, на которое уменьшена твоя картинка.

Теперь, зная соотношение, узнаем ширину. Для этого, делим ширину картинки на соотношение (1920/1.2) и получаем 1600 px.

Итог: размер бекграунда 1600x900px.

Случаи, где картинка или блок вертикальные думаю сможешь доработать сам, по аналогии с примером выше. Главное, это определить от чего базируется размер картинки в блоке. Думаю на моем примере сможешь без труда дописать необходимый функционал
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Lord_Dantes
Можно ли получить высоту/ширину у background с background-size: cover?

Фактически да. Но это будет ширина и высота равна контенту или заранее установленным правилам width и height.

По факту не возможно потому-что картинка сама не растянется к нужным ей размерам ибо это background.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы