Свойство background-size масштабирует фоновое изображение, согласно заданным размерам.
Демо
Фон
background
background-attachment
background-blend-mode
background-clip
background-color
background-image
background-origin
background-position
background-position-x
background-position-y
background-repeat
background-size
Синтаксис
/* Keyword values */
background-size: cover;
background-size: contain;
/* One-value syntax */
/* the width of the image (height becomes 'auto') */
background-size: 50%;
background-size: 3.2em;
background-size: 12px;
background-size: auto;
/* Two-value syntax */
/* first value: width of the image, second value: height */
background-size: 50% auto;
background-size: 3em 25%;
background-size: auto 6px;
background-size: auto auto;
/* Multiple backgrounds */
background-size: auto, auto; /* Not to be confused with `auto auto` */
background-size: 50%, 25%, 25%;
background-size: 6px, auto, contain;
/* Global values */
background-size: inherit;
background-size: initial;
background-size: unset;
Значения
<размер>
Задаёт размер в любых доступных для CSS единицах — пикселях (px), сантиметрах (cm), em и др.
<проценты>
Задаёт размер фоновой картинки в процентах от ширины или высоты элемента.
auto
Если задано одновременно для ширины и высоты (auto auto), размеры фона остаются исходными; если только для одной стороны картинки (100px auto), то размер вычисляется автоматически исходя из пропорций картинки.
cover
Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.
contain
Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока.
Если установлено одно значение, оно устанавливает ширину фона, второе значение принимается за auto. Пропорции картинки при этом сохраняются. Использование двух значений через пробел задаёт ширину и высоту фоновой картинки.
Значение по-умолчанию:
background-size: auto;
Применяется ко всем элементам
Спецификации
CSS Backgrounds and Borders Module Level 3
Поддержка браузерами
Can I Use background-img-opts? Data on support for the background-img-opts feature across the major browsers from caniuse. com.
Фоновое изображение может быть настроено таким образом чтобы полностью покрывать всю область элемента или иметь заданные автором размеры.
У некоторых изображений (<image>), таких как, например, JPEG, есть встроенные размеры и пропорции, а у других изображений, таких как градиенты (<gradient>) нет встроенных размеров и пропорций и они занимают всю фоновую область, если не указано иное. Окончательный размер фонового изображения формируется на основе того есть ли у фонового изображения внутренние размеры и пропорции.
Свойство background-size принимает либо ключевое слово (cover или contain), либо пару не ключевых слов (<length> | <percentage>), либо не ключевое слово и значение auto. Например:
background-size: cover; /* ключевое слово */
background-size: contain; /* ключевое слово */
background-size: 100% 50%; /* пара значений из не ключевых слов */
background-size: 300px 200px; /* пара значений из не ключевых слов */
background-size: 50% auto; /* не ключевое слово + плюс значение 'auto' */
Для пары значений первое значение задаёт ширину изображения, а второе значение задаёт высоту изображения.
Если указано только одно не ключевое значение, то второе считается как auto.
Свойство background-size может принимать несколько значений разделённых запятыми, поэтому когда у элемента указано несколько изображений в свойстве background-image, каждое значение будет применяться к соответствующему фоновому изображению (первое значение для первого фонового изображения, второе значение для второго и т.
д.).
Синтаксис свойства
Значения свойства
<length> — значение <length> масштабирует фоновое изображения до указанного значения в соответствующем направлении. Нельзя указывать отрицательную длину.
<percentage> — значение указанное в процентах масштабирует фоновое изображения до указанных процентов относительно области позиционирования фона, который определяется свойством background-origin. Если значение свойства background-origin не указано автором, будет использовано значение padding-box, то есть фоновое изображение позиционируется относительно системы координат фона, центр которой находится в верхнем левом углу.
contain — масштабирует изображение, сохраняя при этом его встроенное соотношение сторон, до наибольшего, чтобы его ширина и высота вписывались в область позиционирования. Если у фонового изображения нет встроенных пропорции и нет встроенного размера, то оно растягивается на всю область позиционирования.
cover — масштабирует изображение, сохраняя при этом его встроенное соотношение сторон, до наименьшего размера, чтобы его ширина и высота могли полностью покрывать область позиционирования. Если у фонового изображения нет встроенных пропорции и нет встроенного размера, то оно отображается в размере области позиционирования.
auto — ключевое слово, которое масштабирует фоновое изображение в соответствующем направлении, сохраняя его встроенные пропорции.
Если у изображения есть встроенные размере (высота и ширина), то оно будет отображаться со своими размерами.
Если у изображения нет встроенных пропорций и размеров, то оно будет отображаться с размерами области позиционирования.
Если у него нет размеров, но есть пропорции, то оно отобразиться так как-будто было установлено ключевое слово contain.
Если у изображения есть один из встроенных размеров и пропорция, то оно отобразиться с размерами определёнными этим одним размером и пропорцией.
Если у изображения есть один из встроенных размеров, но нет пропорции, оно отобразиться с использованием этого одно встроенного размера и соответствуюещего размера области позиционирования.
Поддержка браузерами
CSS3 Background-image options
IE
9
0.09%
10
0.01%
11
0.44%
Edge
105
0.8%
106
3.08%
107
0.25%
Firefox
104
0.07%
105
1.51%
106
0.68%
107
0.01%
Chrome
105
6.01%
106
15.7%
107
0.64%
108
0.02%
109
0.01%
Safari
15.6
1.63%
16.0
0.5%
16.1
0.07%
16.2
0%
Safari on iOS
15.6
6.72%
16.0
4.55%
16.1
0.24%
Chrome for Android
107
40.28%
Полная поддержка
Частичная поддержка
С префиксом
Не поддерживается
Данные с сервиса
caniuse. com
Пример
Ниже вы увидите пример использования свойства background-size:
Если вы хотите привлечь новых посетителей на свой веб-сайт, у вас есть от 10 до 20 секунд. Чтобы вдохнуть жизнь в контент вашей страницы, вы можете попробовать добавить фоновое видео с помощью CSS.
Видеофоны занимают всю ширину и высоту окна просмотра (другими словами, всю видимую область страницы) и добавляют визуальный эффект для повышения вовлеченности. Поверх этого видео вы можете разместить содержимое избранной страницы — в конце концов, это всего лишь фон, а ваш контент важнее всего.
Видеофоны могут показаться причудливой функцией, но на самом деле их легко реализовать, если вы немного знаете CSS. В этом руководстве мы покажем вам, как добавить на веб-страницу простой полноэкранный видеофон, который вы можете настроить и адаптировать под свои нужды.
Как создать полноэкранный видеофон с помощью CSS
Чтобы показать вам, как создавать видеофоны для вашего сайта, мы поделимся кодом, который вы можете скопировать, чтобы изменить в соответствии с вашими потребностями. Мы также увидим код в действии с некоторыми модулями CodePen с адаптивным фоновым видео.
Давайте начнем с нашего HTML. Во-первых, мы разместим видео на нашей странице с тегом и несколькими атрибутами.
<зацикливание автовоспроизведения видео отключено poster="//winx-fan.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="video" data-poster="https://assets.codepen.io/6093409/river.jpg">
Все эти атрибуты важны для правильной работы фона, поэтому давайте рассмотрим каждый из них:
Атрибут id предназначен для стилизации нашего элемента видео с помощью CSS. Это необходимо для достижения эффекта полноэкранного фона.
Атрибут autoplay запускает видео автоматически после загрузки страницы.
Атрибут loop воспроизводит видео в бесконечном цикле.
Атрибут muted отключает звук для видео. Как правило, вы не должны воспроизводить звук видео на своей странице, пока пользователь не включит звук. Это является проблемой доступности и может вызвать неприятные ощущения у пользователя.
Наконец, изображение poster отображается на экране во время загрузки видео или вместо видео, если оно не загружается. Мы рекомендуем сделать изображение постера первым кадром вашего видео, чтобы оно выглядело максимально плавно.
Теги обычно также включают в себя атрибут Controls . Однако мы исключили его, потому что не хотим, чтобы пользователи останавливали видео или пропускали его.
Избранный ресурс
Бесплатные шаблоны кодирования CSS
Заполните форму, чтобы получить бесплатные фрагменты кода.
После нашего видеоэлемента давайте добавим некоторый HTML-контент-заполнитель, чтобы увидеть, как текст выглядит на фоне нашего видео.
ЭТО РЕКА.
Как величественно.
Закончив с HTML, давайте займемся CSS. Чтобы превратить наше обычное видео в фоновое, добавьте следующий CSS:
Давайте рассмотрим каждое из этих правил, чтобы понять, что они делают:
height: 100vw (ширина области просмотра) и width: 100vh (высота области просмотра) расширяют видео до полной ширины и высоты. области просмотра.
object-fit: обложка автоматически масштабирует фоновое видео, чтобы сохранить исходное соотношение сторон при заполнении экрана, обрезая края видео при необходимости.
position: фиксированное и следующие слева , справа , сверху и снизу позиционируют видео относительно окна просмотра и отделяют его от остального содержимого страницы. Это удерживает видео на месте, когда пользователь прокручивает его, и позволяет другому контенту располагаться поверх него.
z-index помещает видеофон под сопровождающий контент.
Далее мы добавим стиль для другого содержимого нашей страницы. Для обеспечения доступности убедитесь, что текст, размещенный поверх видео, обеспечивает достаточный цветовой контраст с фоном:
h2, h3 { цвет: белый; семейство шрифтов: Trebuchet MS; вес шрифта: полужирный; выравнивание текста: по центру; }
h2 { размер шрифта: 6rem; margin-top: 30vh; }
h3 { размер шрифта: 3rem; }
В этот момент фоновое видео будет хорошо отображаться. Но мы еще не учитывали мобильные устройства. Обычно рекомендуется запретить автоматическое воспроизведение видео на мобильных устройствах, поскольку данные, необходимые для их воспроизведения, значительны, а пользователи вообще не запрашивали воспроизведение видео.
Вместо этого мы добавим медиа-запрос, который заменит видео изображением нашего постера на экранах шириной 750 пикселей или меньше.
Когда мы объединяем все, мы получаем гладкий фон видео, который масштабируется вместе с экраном и отображает изображение на мобильных устройствах. (Примечание: щелкните здесь, чтобы увидеть пример с воспроизводимым видео.)
См. Фоновое видео Pen 1 Кристины Перриконе (@hubspot) на CodePen.
Если вам нужна дополнительная помощь, чтобы узнать, как заставить этот код работать на вашем сайте, ознакомьтесь с этим видеоруководством по фону CSS на YouTube:
Добавить больше содержимого страницы
Мы уже разместили на странице несколько заголовков, чтобы посмотрите, как контент выглядит на фоне видео.
Тем не менее, ваша страница, вероятно, будет содержать больше контента, чем фоновое видео и текст заголовка. Итак, добавим раздел нашего примера, который появляется, когда пользователь прокручивает страницу вниз. Этот элемент будет охватывать видео, чтобы сосредоточить внимание на основном содержании. (Примечание: щелкните здесь, чтобы увидеть пример с воспроизводимым видео.)
См. Pen Video Background 2 от Christina Perricone (@hubspot) на CodePen.
Мы задали нашему элементу цвет фона, чтобы скрыть видео, а также верхнее поле в единицах высоты области просмотра. Таким образом, основной контент будет отображаться, как только пользователь начнет прокручивать страницу.
Фоновое видео CSS для привлечения вашей аудитории
Жизнь коротка, и никто не хочет тратить свое время на заурядную веб-страницу. С помощью всего нескольких строк CSS мы создали шаблон видеофона на всю страницу, который вы можете настроить для своей аудитории.
Использование фона сайта для видео может быть не идеальным выбором для каждого веб-сайта и, как правило, не подходит для мобильных веб-сайтов из-за их влияния на производительность мобильных устройств.
Leave a Comment