Background url css как вписать изображение полностью: background-image | htmlbook.ru

html — Пропорциональное вписывание изображения

Нужно вписать изображение в div фиксированного размера, но так, чтобы больший размер изображения занимал 100% div’а, а меньший — сколько получится. Если подгонять только один фиксированный размер, то это выглядит так

  div {
    width: 125px;
    height: 70px; 
  }
  div img {
    width: 100%;
    height: auto;
  }

Но если у изображения высота больше, чем ширина, то получается швах. Решается ли проблема на CSS?

  • html
  • css
1

Если я правильно понял вопрос, то вам нужно свойство background-size. Например:

div {
    background: url(/example/image/mybg.png) 100% 100% no-repeat;
    background-size: contain;
}

cover

Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.

contain

Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока.

Источник: https://webref.ru/css/background-size


А если именно с тегом img нужно, то может такое решение устроит?

.ex1 {
  width: 70px;
  height: 125px;
}

.ex2 {
  width: 125px;
  height: 70px;
}

div {
  border: 1px solid #ccc;
  display: inline-block;
  margin: 10px;
  position: relative;
}

div img {
  position: absolute;
  height: auto;
  width: auto;
  max-height: 100%;
  max-width: 100%;
}
<div><img src="http://lorempixel.com/100/70/" alt=""></div>
<div><img src="http://lorempixel.com/100/70/" alt=""></div>
<div><img src="http://lorempixel.com/70/100/" alt=""></div>
<div><img src="http://lorempixel.com/70/100/" alt=""></div>
4

Можно еще проще, с object-fit: contain. Тогда изображение автоматически центрируется. Замена на object-fit: cover растянет картинку на весь блок, тоже с автоматическим центрированием.

div img {
  width: 100%;
  height: 100%;
  object-fit:contain;
}
.ex1 {
  width: 70px;
  height: 125px;
}

.ex2 {
  width: 125px;
  height: 70px;
}

div {
  border: 1px solid #ccc;
  display: inline-block;
  margin: 10px;
  position: relative;
}

div img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

div.cover img {
  object-fit: cover;
}
<div><img src="http://lorempixel.com/300/140/" alt=""></div>
<div><img src="http://lorempixel.com/300/140/" alt=""></div>
<div><img src="http://lorempixel.com/140/300/" alt=""></div>
<div><img src="http://lorempixel.com/140/300/" alt=""></div>
<br>
<div><img src="http://lorempixel.
com/300/140/" alt=""></div> <div><img src="http://lorempixel.com/300/140/" alt=""></div> <div><img src="http://lorempixel.com/140/300/" alt=""></div> <div><img src="http://lorempixel.com/140/300/" alt=""></div>
1

Вариант с ответом Romchik, но без абсолютного позиционирования (расположение за счёт flexbox):

.ex1 {
  width: 70px;
  height: 125px;
}

.ex2 {
  width: 125px;
  height: 70px;
}

div {
  border: 1px solid #ccc;
  margin: 10px;
  
  /* сделать inline flex-контейнером */
  display: inline-flex;
  /* центрировать элементы горизонтально */
  justify-content: center;
  /* центрировать элементы вертикально */
  align-items: center;
}

div img {
  max-height: 100%;
  max-width: 100%;
}
<div><img src="https://i. stack.imgur.com/8w5wV.jpg" alt=""></div>
<div><img src="https://i.stack.imgur.com/8w5wV.jpg" alt=""></div>
<div><img src="https://i.stack.imgur.com/bkg7V.jpg" alt=""></div>
<div><img src="https://i.stack.imgur.com/bkg7V.jpg" alt=""></div>

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Vuetify — платформа компонентов Vue

Вы просматриваете документацию для Vuetify 3

Перейти к Vuetify 2

Компонент v-img оснащен функциями для поддержки мультимедиа. В сочетании с vuetify-loader вы можете добавлять динамические прогрессивные изображения, чтобы улучшить взаимодействие с пользователем.


#Usage

Компонент v-img используется для отображения адаптивного изображения с отложенной загрузкой и заполнителем.


#API

9003 3 Первичный компонент
Компонент Описание
v-img

#Предупреждения

Свойство lazy-src не действует, если не задано либо высота , либо соотношение сторон . Это связано с тем, что для отображения временного изображения контейнеру изображения требуется ненулевая высота.

#Примеры

#Реквизит

#Cover

Если предоставленное соотношение сторон не соответствует реальному изображению, поведение по умолчанию — заполнить как можно больше места без обрезки. Чтобы заполнить все доступное пространство, используйте крышку опору.

#Height

v-img автоматически увеличится до размера своего src , сохраняя правильное соотношение сторон. Вы можете ограничить это с помощью пропсов height и max-height .

# Слоты

#Placeholder

v-img имеет специальный слот placeholder для отображения заполнителя во время загрузки изображения. Примечание: в приведенном ниже примере есть неправильный src, который не загружается, чтобы вы могли увидеть заполнитель.

#Error

v-img имеет слот error , который можно использовать для отображения альтернативного содержимого в случае возникновения ошибки при загрузке исходного изображения. Обычно этот слот используется для загрузки резервного изображения, если исходное изображение недоступно.

#Разное

#Будущие форматы изображений

По умолчанию v-img отображает базовый элемент . Если вы хотите использовать .webp изображений с резервом для старых браузеров, вы можете передать список из элементов в слот sources :

 
  <шаблон #исходники>
    <источник srcset="image.webp">
  

 

Это будет вести себя аналогично:

 <картинка>
  <источник srcset="image.webp">
  

 

srcset и атрибуты media также можно использовать для художественного оформления или альтернативных размеров, см. MDN для получения дополнительной информации.

#Grid

Вы можете использовать v-img для создания, например, картинной галереи.

#Complex Grid Layout

Создайте более сложный макет галереи изображений, используя классы flex-box .

Готовы к большему?

Продолжите свое обучение с соответствующим контентом, выбранным командой

, или перемещайтесь между страницами, используя навигационные ссылки ниже.

Сетки

Компоненты

Соотношение сторон

Компоненты

Параллакс

Компоненты


Значок s

Parallax

Редактировать эту страницу на

GitHub

· Nuxt Image

Узнайте, как использовать и настраивать компонент nuxt-img.

является заменой собственного тега .

  • Использует встроенный провайдер для оптимизации локальных и удаленных изображений
  • Преобразует src в URL-адреса, оптимизированные для провайдера
  • Автоматически изменяет размеры изображений на основе ширины и высоты 8 Создает адаптивные размеры при предоставлении размеров вариант
  • Поддерживает встроенную ленивую загрузку, а также другие атрибуты

nuxt-img выводит собственный тег img напрямую (без какой-либо оболочки вокруг него). Используйте его так же, как и тег :

  

Результат:

  

src

Путь к файлу изображения

src должен быть в виде абсолютного пути для статических изображений в public/ 9каталог 0008. В противном случае путь, ожидаемый провайдером, начинается с

/ или URL-адреса.

  

Для оптимизации изображений при использовании внешних URL-адресов в src нам нужно добавить их в белый список, используя опцию доменов .

ширина / высота

Укажите ширину/высоту изображения.

  • Используйте нужную ширину/высоту для изображений статического размера, таких как значки или аватары
  • Используйте исходную ширину/высоту изображения для адаптивных изображений (при использовании
    размеры
    )

размеры

Укажите адаптивные размеры.

Это список пар размер/ширина экрана, разделенных пробелами. Вы можете увидеть список определенных размеров экрана здесь).

Пример:

  

densities

Для создания специальных версий изображений для экранов с повышенной плотностью пикселей.

Пример:

  png"
 
  плотности = "x1 x2"
  />
 

Поставщик

Используйте другой поставщик вместо опции по умолчанию по умолчанию, указанную в Nuxt.config

Пример:

Индекс.vue

  

предустановка

Предустановки — это предварительно определенные наборы модификаторов изображений, которые можно использовать для создания унифицированной формы изображений в ваших проектах.

index.vue

 <шаблон>
  
 

формат

Если вы хотите показывать изображения в определенном формате, используйте этот реквизит.

  

Доступные форматы: webp , avif , jpeg , jpg 9000 8, png , gif и svg . Если формат не указан, будет использоваться формат изображения по умолчанию.

качество

Качество сгенерированных изображений.

  

fit

Свойство fit задает размер изображений. Для этого свойства можно использовать пять стандартных значений.

  • обложка : (по умолчанию) Сохранение соотношения сторон, убедитесь, что изображение покрывает оба предусмотренных размера путем обрезки/обрезания по размеру
  • содержит : Сохранение соотношения сторон, включение в оба предоставленных размера с использованием «почтового ящика», где это необходимо.
  • fill : Игнорировать соотношение сторон ввода и растягивать до обоих предоставленных размеров.
  • внутри : Сохраняя соотношение сторон, измените размер изображения до максимально возможного, убедившись, что его размеры меньше или равны обоим указанным.
  • снаружи : Сохраняя соотношение сторон, измените размер изображения, чтобы он был как можно меньше, при этом убедитесь, что его размеры больше или равны обоим указанным.
  

модификаторы

Помимо стандартных модификаторов у каждого провайдера могут быть свои дополнительные модификаторы. Поскольку эти модификаторы зависят от поставщика, обратитесь к его документации, чтобы узнать, что можно использовать.

Использование модификаторов prop позволяет использовать любое из этих преобразований.

Пример:

  

предварительная загрузка

Если вы хотите предварительно загрузить изображение, используйте этот реквизит. Это поместит соответствующий тег link в заголовок страницы.

  

loading

Это собственный атрибут, предоставляющий подсказку браузеру о том, как обрабатывать загрузку изображения, находящегося за пределами области просмотра. Поддерживается последней версией всех основных браузеров с марта 2022 года.

Установите loading="lazy" , чтобы отложить загрузку изображения, пока оно не появится в окне просмотра.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *