Background image css размер: 🤷🏽♀️ Page not found | MDN Web Docs
Содержание
background-size | CSS | WebReference
Масштабирует фоновое изображение, согласно заданным размерам.
Краткая информация
Значение по умолчанию | auto |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам |
Анимируется | Да |
Синтаксис
background-size: <bg-size> [, <bg-size> ]*
<bg-size> = [ <размер> | <проценты> | auto ]{1,2} | cover | contain
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Значения
- <размер>
- Задаёт размер в любых доступных для CSS единицах — пикселях (px), сантиметрах (cm), em и др.
- <проценты>
- Задаёт размер фоновой картинки в процентах от ширины или высоты элемента.
- auto
- Если задано одновременно для ширины и высоты (auto auto), размеры фона остаются исходными; если только для одной стороны картинки (100px auto), то размер вычисляется автоматически исходя из пропорций картинки.
- cover
- Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.
- contain
- Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока.
Если установлено одно значение, оно устанавливает ширину фона, второе значение принимается за auto. Пропорции картинки при этом сохраняются. Использование двух значений через пробел задаёт ширину и высоту фоновой картинки.
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>background-size</title>
<style>
div {
height: 200px; /* Высота блока */
border: 2px solid #000; /* Параметры рамки */
background: url(/example/image/mybg.png) 100% 100% no-repeat; /* Добавляем фон */
background-size: cover; /* Масштабируем фон */
}
</style>
</head>
<body>
<div>…</div>
</body>
</html>
Объектная модель
Объект.style.backgroundSize
Примечание
Safari до версии 4.1, Chrome до версии 3.0 и Android используют свойство -webkit-background-size.
Opera до версии 10.53 использует свойство -o-background-size.
Firefox до версии 4 использует свойство -moz-background-size.
Opera 9.5 некорректно устанавливает положение фиксированного фона.
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
9 | 12 | 1 | 3 | 9 | 10.53 | 3 | 4.1 | 3.6 | 4 |
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 29.02.2020
Редакторы: Влад Мержевич
CSS background-size | TuHub
Общие сведения
Фоновое изображение может быть настроено таким образом чтобы полностью покрывать всю область элемента или иметь заданные автором размеры.
У некоторых изображений (<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, каждое значение будет применяться к соответствующему фоновому изображению (первое значение для первого фонового изображения, второе значение для второго и т.д.).
Синтаксис свойства
- Синтакис:
background-size: <bg-size> [ , <bg-size> ]* /* где */ <bg-size> = [ <length> | <percentage> | auto ]{1,2} | cover | contain
- Значение по умолчанию:
auto
- Применяется: ко всем элементам
- Наследуется: да
- Анимируется: да, за исключением ключевых слов
Значения свойства
<length>
— значение <length> масштабирует фоновое изображения до указанного значения в соответствующем направлении. Нельзя указывать отрицательную длину.<percentage>
— значение указанное в процентах масштабирует фоновое изображения до указанных процентов относительно области позиционирования фона, который определяется свойством background-origin. Если значение свойстваbackground-origin
не указано автором, будет использовано значениеpadding-box
, то есть фоновое изображение позиционируется относительно системы координат фона, центр которой находится в верхнем левом углу.contain
— масштабирует изображение, сохраняя при этом его встроенное соотношение сторон, до наибольшего, чтобы его ширина и высота вписывались в область позиционирования. Если у фонового изображения нет встроенных пропорции и нет встроенного размера, то оно растягивается на всю область позиционирования.cover
— масштабирует изображение, сохраняя при этом его встроенное соотношение сторон, до наименьшего размера, чтобы его ширина и высота могли полностью покрывать область позиционирования. Если у фонового изображения нет встроенных пропорции и нет встроенного размера, то оно отображается в размере области позиционирования.auto
— ключевое слово, которое масштабирует фоновое изображение в соответствующем направлении, сохраняя его встроенные пропорции.- Если у изображения есть встроенные размере (высота и ширина), то оно будет отображаться со своими размерами.
- Если у изображения нет встроенных пропорций и размеров, то оно будет отображаться с размерами области позиционирования.
- Если у него нет размеров, но есть пропорции, то оно отобразиться так как-будто было установлено ключевое слово
contain
. - Если у изображения есть один из встроенных размеров и пропорция, то оно отобразиться с размерами определёнными этим одним размером и пропорцией.
- Если у изображения есть один из встроенных размеров, но нет пропорции, оно отобразиться с использованием этого одно встроенного размера и соответствуюещего размера области позиционирования.
Поддержка браузерами
CSS3 Background-image options
Пример
Ниже вы увидите пример использования свойства background-size
:
Размеры в SVG • Про CSS
Управление размерами — тема важная, и чтобы максимально использовать возможности SVG, нужно хорошо понимать как всё работает.
Спецификация.
Вьюпорт
Содержимое SVG-элемента отрисовывается на бесконечном холсте и может быть сколь угодно большого размера, но видимая часть холста соответствует размерам SVG-элемента. Эта область отрисовки называется viewport
(вьюпорт).
SVG позволяет управлять как размерами вьюпорта, так и поведением содержимого относительно него: оно может обрезаться или показываться полностью, может растягиваться с потерей пропорций или стараться уместиться целиком, даже если при этом появляются пустые поля. Этим поведением можно управлять с помощью атрибутов.
Если просто вставить SVG на страницу и не задавать ему никакие размеры, он отобразится размером 300px на 150px, что не поместилось — обрежется:
Ширина и высота
Шириной и высотой элемента можно управлять стандартными свойствами width
и height
:
<svg>
...
</svg>
Их можно задавать как атрибутами, так и в CSS:
.mysvg {
width: 350px;
height: 200px;
}
Для размеров в пикселях, задаваемых в атрибутах, единицы измерения можно не указывать.
Потаскайте ползунки, и вы увидите, что изменение ширины и высоты влияет только на вьюпорт и не влияет на содержимое, потому что оно отрисовывается на бесконечном холсте, и неизвестно область какого размера нужно ресайзить.
viewBox
Похожим образом не изменяя размеры содержимого ресайзится iframe
, но в случае с SVG это поведение можно изменить, если определить размеры области с помощью свойства viewBox
:
<svg
viewBox="0 0 180 180">
...
</svg>
Первые два значения — координаты X и Y верхнего левого угла отображаемой области, последние два — ширина и высота. viewBox
задаётся только атрибутом.
Попробуйте теперь изменить размеры, и вы увидите, что содержимое отресайзится, чтобы поместиться целиком.
viewBox
можно использовать, например, для кадрирования изображения, чтобы показывать не всю картинку, а только какую-то её часть:
Это очень простое демо, вот пример посложнее от Sarah Drasner.
Интересно, что если у SVG нет размеров, но задан viewBox
, изображение займёт собой всё доступное пространство:
<svg viewBox="0 0 180 180">
...
</svg>
Это поведение может стать проблемой: если размеры у иконок задаются в стилях, а они не загрузились — страница может превратиться в парад гигантских SVG-иконок. Чтобы этого не произошло, всегда явно задавайте в атрибутах SVG ширину и высоту, их потом легко переопределить в CSS.
preserveAspectRatio
Как мы видели в примере выше, если у SVG заданы размеры и viewBox
, содержимое будет сжиматься и растягиваться с сохранением пропорций, чтобы поместиться целиком, но этим поведением тоже можно управлять — с помощью свойства preserveAspectRatio
(оно задаётся только атрибутом).
Например, с помощью значения none
можно указать, что сохранять пропорции не нужно:
<svg
viewBox="0 0 180 180"
preserveAspectRatio="none"
>
...
</svg>
SVG с viewBox
и preserveAspectRatio='none'
ведёт себя очень похоже на img
: при изменении размеров содержимое масштабируется под размеры вьюпорта не сохраняя пропорции.
none
будет полезно для резиновых фонов:
Остальные значения preserveAspectRatio
состоят из двух частей: первая задаёт выравнивание, вторая — поведение элемента относительно вьюпорта.
Выравнивание задаётся одним значением, определяющим положение по вертикали и по горизонтали, например: xMaxYMin
. Для обеих осей можно задать положение в начале, в середине и в конце:
xMin
, YMin
— в начале оси
xMid
, YMid
— в середине
xMax
, YMax
— в конце
Эти значения можно комбинировать в любых сочетаниях, но порядок должен сохраняться: первым всегда идет значение для X, вторым для Y. Значение для Y всегда пишется с большой буквы.
Поведение элемента определяется второй частью preserveAspectRatio
. Возможные значения:
meet
— содержимое стремится уместиться целиком (как фон с background-size: contain
)
slice
— содержимое заполняет собой всю область видимости (как background-size: cover
: что не поместилось, обрежется)
Важно помнить, что preserveAspectRatio
не работает без viewBox
. viewBox
задает область, которая должна масштабироваться, preserveAspectRatio
определяет как именно она должна это делать.
Также нужно понимать, что preserveAspectRatio
срабатывает, если вьюпорт и вьюбокс имеют разные соотношения сторон. Если соотношения сторон совпадают, и содержимое умещается без полей, preserveAspectRatio
работать не будет (в этом случае в нём просто нет необходимости).
Для использования SVG в качестве иконок достаточно viewBox
и размеров, но если предполагается делать что-то более сложное, имеет смысл разобраться с единицами измерения и системой координат.
Единицы измерения
Внутри SVG можно использовать em
, ex
, px
, pt
, pc
, cm
, mm
, in
, проценты, а также единицы системы координат (user space units). Единицы системы координат соответствуют пикселям, поэтому для значений в пикселях единицы измерения указывать не нужно.
Системы координат
В SVG-документе есть две системы координат:
- Система координат области отрисовки — viewport space.
- Система координат содержимого — user space.
Отсчет системы координат вьюпорта начинается от левого верхнего угла вьюпорта, системы координат содержимого — от левого верхнего края вьюбокса.
По умолчанию система координат содержимого соответствует системе координат вьюпорта, а единицы измерения содержимого — единицам измерения вьюпорта, но при использовании трансформаций или viewBox
масштабируется вся система координат с единицами измерения, то есть пиксели из user space больше не равны пикселям из viewport space.
Поизменяйте размеры элемента и посмотрите что происходит с системой координат содержимого (она показана бирюзовым):
Система координат содержимого начинается из точки 0,0, и если вьюпорт и вьюбокс не совпадают, точка отсчета, как и вся система координат содержимого, будет ездить и масштабироватся вместе с вьюбоксом.
Масштабирование единиц измерения хорошо видно на примере обводки: изначально её толщина равна единице, но при изменении размеров видимая толщина обводки будет изменяться вместе с фигурой:
Если такое поведение нежелательно, это можно исправить с помощью свойства vector-effect
со значением non-scaling-stroke
, оно добавляется к содержимому SVG:
<circle r="60" cx="75" cy="75"
stroke="black" stroke-width="1"
vector-effect="non-scaling-stroke"/>
vector-effect
можно задавать как атрибутом, так и в CSS.
Также новая система координат создается при добавлении трансформаций:
Внутри трансформируемого элемента будет своя своя система координат, отличная от систем координат вьюпорта и вьюбокса.
Тема может выглядеть сложной, но на самом деле, достаточно немного поиграться с кодом, и всё станет понятно. Для лучшего понимания систем координат, размеров и трансформаций в SVG рекомендую демо Сары Суайдан, а также её статьи:
css властивість background-size
Властивість background-size
введена у CSS3 та дозволяє встановити розміри для фонового зображення елементу.
background-size
дозволяє точно встановити потрібний розмір для фону. Ти також можеш використовувати ключові слова cover
і contain
для масштабування зображення зі збереженням пропорцій. Ця властивість може приймати одне, два значення або ключові слова. Якщо вказано одне значення в одиницях виміру
background-size: 200px;
то це буде розмір по горизонталі, розмір по вертикалі буде auto
. Якщо ти вказуєш розміри за допомогою двох значень, перше значення задає горизонтальний розмір, друге — вертикальний.
Ключове слово cover
повідомляє браузеру, що зображення мусить заповнювати весь контейнер, навіть якщо для цього потрібно його розтягнути або трохи обрізати з однієї зі сторін. contain
, повідомляє, що завжди треба показувати увесь фон, навіть якщо це залишає вільний простір по боках.
Ключове слово без задання — auto
— повідомляє браузеру автоматичний розрахунок розміру фонового зображення залежно від фактичного розміру зображення та співвідношення його сторін.
Ця властивість використовується разом з background-image
для більш делікатного відображення тла елементу.
Цю властивість також можна використовувати у скороченому записі властивості background
, наприклад:
background: url("background.png") 40% / cover lightblue round border-box;
При такому записі background-position
й background-size
потрібно розділити за допомогою символу слеша — / .
У випадку використання відразу декількох зображень у якості фону, ви можете конкретизувати кожне значення background-size
написавши їх через кому.
Не рекомендується використовувати значення у пікселях, а також ключове слово auto
для задання розмірів фону заданого за допомогою градієнту( gradient()
), тому що це неможливо у браузерах Firefox нижче 8-ї версії, а також у браузерах які не підтримують рендеринг сторінки як у Firefox 8, які не можуть визначити розмір фону, який вони мають змінювати.
Властивість background-size
може отримувати 7 значень:
Как изменить размер фоновых изображений с помощью CSS3
В CSS2.1 фоновые изображения, примененные к контейнеру, сохранили свои фиксированные размеры. К счастью, CSS3 представляет свойство background-size
, которое позволяет растягивать или сжимать фон. Он идеально подходит, если вы создаете шаблон с помощью методов адаптивного веб-дизайна.
Есть несколько способов определить размеры размеров — просмотреть демонстрационную страницу CSS3 background-size .
Абсолютное изменение размера
Для измерения длины можно использовать:
размер фона: ширина высота;
По умолчанию для ширины и высоты установлено значение авто
, при котором сохраняются исходные размеры изображения.
Мы можем изменить размер изображения до нового размера, используя абсолютные измерения, такие как px, em, cm и т. Д. Соотношение сторон будет изменено при необходимости, поэтому, если наше фоновое изображение имеет размер 200 × 200 пикселей, следующий код сохраняет эту высоту, но вдвое меньше ширины:
размер фона: 100 пикселей 200 пикселей;
Если определена только одна длина, предполагается, что это ширина. Высота установлена на , авто
, и изображение сохранит свое соотношение сторон, то есть
.
размер фона: 100 пикселей;
размер фона: 100 пикселей автоматически;
Этот код масштабирует наше изображение с 200 × 200 до 100 × 100 пикселей.
Относительное изменение размера с использованием процентов
Если используется процент, размер основан на содержащем элементе — НЕ размер изображения, например
размер фона: 50% авто;
Таким образом, ширина фонового изображения зависит от размера его контейнера. Если ширина нашего контейнера составляет 500 пикселей, размер нашего изображения изменяется до 250 × 250.
Использование процента может быть полезно для адаптивного дизайна. Измените размер демонстрационной страницы , чтобы увидеть, как меняются размеры.
Масштабирование до максимального размера
Свойство background-size
также принимает ключевое слово contain
. Это масштабирует изображение по размеру контейнера. Другими словами, изображение будет пропорционально увеличиваться или уменьшаться, но ширина и высота не будут превышать размеры контейнера:
размер фона: содержать;
Заполнение фона
background-size
также принимает ключевое слово cover
.Изображение масштабируется по размеру всего контейнера, но, если у него другое соотношение сторон, изображение будет обрезано:
размер фона: обложка;
Размер нескольких фонов
Можно изменить размер нескольких фонов с помощью списка значений, разделенных запятыми, которые применяются в том же порядке, например
фон:
url ("Sheep.png") 60% 90% без повтора,
url ("Sheep.png") 40% 50% без повтора,
url ("Sheep.png") 10% 20% no-repeat # 393;
размер фона: 240 пикселей 210 пикселей, авто, 150 пикселей;
Совместимость с браузером
Последние версии всех браузеров поддерживают background-size
без префикса.
IE8 и ниже не поддерживают свойство. Вы можете использовать фильтр IE для имитации содержания и покрытия, но невозможно изменить размер фоновых изображений, не прибегая к уловкам, таким как использование реальных img
за другими элементами. Это грязно; Я рекомендую изящную деградацию.
Сокращенное обозначение
В спецификации W3C CSS Backgrounds and Borders Module Level 3 указано, что background-size
может быть определен после background-position
в сокращенной нотации background
.Ни один из браузеров не поддерживает эту опцию, поэтому на данный момент background-size
необходимо определить как отдельное свойство.
Просмотр демонстрационной страницы размера фона CSS3…
Поднимите свои навыки CSS на новый уровень с помощью нашей книги «Мастер CSS, 2-е издание» Тиффани Б. Браун, в которой рассматриваются CSS-анимации, переходы, преобразования и многое другое.
Установить размер фонового изображения с помощью CSS?
Свойство background-size используется для установки размера фонового изображения с помощью CSS.Используйте свойство высоты и ширины, чтобы установить размер фонового изображения.
Синтаксис:
размер фона: ширина высота;
Примечание:
- Если первое значение опущено, изображение принимает исходную ширину.
- Если второе значение опущено, изображение принимает исходную высоту.
Пример 1: В этом примере размер фона задается по ширине и высоте.
|
Вывод:
Пример 2: В этом примере размер фона устанавливается в процентах.
|
Вывод:
фоновый размер · Документы WebPlatform
Сводка
Задает размер фоновых изображений.
Обзорная таблица
- Начальное значение
-
авто
- Относится к
- Все элементы
- Унаследовано
- Нет
- Медиа
- визуал
- Расчетное значение
- для
абсолютное значение, иначе процент - Анимационный
- Да
- Свойство объектной модели CSS
-
фон Размер
- В процентах
- см. Текст
Синтаксис
-
размер фона: авто
-
размер фона: содержать
-
размер фона: обложка
-
размер фона: длина
-
размер фона: процент
Значения
- авто
- По умолчанию.См. Примечания.
- содержат
- Масштабируйте изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до максимального размера, чтобы и его ширина, и его высота могли уместиться внутри области позиционирования фона.
- крышка
- Масштабируйте изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до наименьшего размера, чтобы и его ширина, и его высота могли полностью покрывать область позиционирования фона.
- длина
- Число с плавающей запятой, за которым следует обозначение абсолютных единиц (
см
,мм
,мм
,pt
илишт.
) или обозначение относительных единиц (em
,ex
, илипикселей
).
Для получения дополнительной информации о поддерживаемых единицах длины см. Справочник по значениям и единицам измерения CSS.
- процентов
- Целое число, за которым следует процент (%). Процентное значение относится к области позиционирования фона.
Примеры
Базовый список примеров синтаксиса для background-size.
размер фона: обложка
размер фона: содержать
размер фона: 50%
размер фона: 3em
размер фона: 12 пикселей
размер фона: авто
размер фона: 50% авто
размер фона: 3em 25%
размер фона: авто 6 пикселей
размер фона: авто авто
размер фона: авто, авто
размер фона: 50%, 25%, 25%
background-size: 6px, авто, содержать
размер фона: наследовать
Структура HTML серии
background-size
, примененные к фоновому изображению. Размер исходного изображения составляет 273 x 286 пикселей, а его внешняя часть имеет прозрачную область размером примерно 45 пикселей.
background-size: auto auto;
background-size: contain;
background-size: cover;
размер фона: 20% 25%;
background-size: 100px 400px;
background-size: 100% 250px;
background-size: 100% 250px, 20% 25%;
CSS применен к примеру HTML, показанному выше.
div {
ширина: 17%;
высота: 200 пикселей;
отступ: 10 пикселей;
радиус границы: 20 пикселей;
box-shadow: 2px 2px 10px rgba (0,0,0,0.75);
плыть налево;
маржа: 0 20px 20px 0;
цвет фона: rgba (0,0,0,0.25);
фоновое изображение: URL (/logo/wplogo_transparent_xlg.png);
}
code {
цвет фона: rgba (255,255,255,0.7);
отступ: 2 пикселя;
радиус границы: 5 пикселей
}
.один {
размер фона: авто авто;
}
.два {
размер фона: содержать;
}
.три {
размер фона: обложка;
}
.four {
размер фона: 20% 25%;
}
.5 {
размер фона: 100 пикселей 400 пикселей;
}
.шесть {
размер фона: 100% 250 пикселей;
}
.Семь {
фоновое изображение: url (/logo/wplogo_transparent_xlg.png), url (/logo/wplogo_transparent_xlg.png);
размер фона: 100% 250 пикселей, 20% 25%;
}
Посмотреть живой пример
Банкноты
Замечания
auto
Значение для одного измерения разрешается с использованием внутреннего соотношения изображения и размера другого измерения. Если какое-либо из этих значений недоступно, используется внутренний размер изображения.Если внутренний размер изображения недоступен, ему присваивается значение 100%. Если оба значения - auto
, используйте внутреннюю ширину, высоту или и то, и другое изображения. Если изображение не имеет ни внутренней ширины, ни внутренней высоты, его размер определяется как для , содержащего
. Отрицательные значения не допускаются. В Windows Internet Explorer 9 фон окна может состоять из нескольких слоев. Количество слоев определяется количеством значений, разделенных запятыми, в свойстве background-image .Каждое из изображений имеет размер, расположение и мозаику в соответствии с соответствующим значением в других свойствах фона ( background-attachment , background-clip , background-origin , background-position , background-repeat и размер фона ). Первое изображение в списке - это ближайший к пользователю слой, следующее закрашивается за первым и так далее.
Связанные спецификации
- CSS Backgrounds and Borders Module Level 3
- Кандидат в рекомендации
См. Также
Статьи по теме
Фон
Связанные страницы
Атрибуты
CSS размер фона
Это то, что заставляет всех людей жить в страхе, в чем часто не уверены.Об этом никогда не говорят, но любопытство всегда присутствует. Девять из десяти женщин соглашаются утвердительно. Рекламодатели делают все возможное, чтобы мы чувствовали себя неадекватными, но говорят нам, что это можно улучшить. Да, господа ... похоже, размер имеет значение.
размер фона
, то есть. Свойство CSS background-size
позволяет разработчикам определять размер, при котором фоновое изображение должно появляться в элементе. Разработчик MooTools Кристоф Пойер использует на своем веб-сайте технику с размером фона
, благодаря чему его шапка выглядит "полной" в браузерах любого размера, даже в мобильных.Давайте посмотрим, как использовать мистическое свойство background-size
.
размер фона
CSS
Свойство background-size
имеет несколько предопределенных значений, а затем обычные числовые значения:
- contain: Обеспечивает отображение всего фонового изображения, показывая изображение с масштабированным размером.
- cover: Масштабирует фоновое изображение так, чтобы наименьший размер достиг максимальной ширины / высоты элемента.
- длина / процент: Любой произвольный числовой размер
Хотите верьте, хотите нет, но самое интересное - это задание длины и размеров в процентах. Вот несколько примеров использования background-size
:
.
/ * базовые классы заголовков * / #header { / * размер заголовка! * / высота: 350 пикселей; / * дополнительные свойства фона * / фон-повтор: без повторения; background-position: center center; / * немного тени для забавы * / box-shadow: rgba (0,0,0,0.20) 0 10px 10px; } /* обложка */ # header.flex { /* размер имеет значение */ размер фона: обложка; } /* содержать */ # header.flex { /* размер имеет значение */ размер фона: содержать; } / * гибкость, веселье * / # header.flex { /* размер имеет значение */ размер фона: 100% авто; }
На веб-сайте
Кристофа используется последний пример, что позволяет хорошо видеть фанатов JavaScript во всех размерах браузеров. Посмотрите мои демонстрации, чтобы увидеть
Тонкое великолепие, обеспечиваемое использованием background-size
, в некоторой степени удивительно.Обычно я довольно скептически отношусь к размеру окна и эффектам изменения размера, но этот метод помог мне увидеть ценность и простоту работы с фиксированными размерами и переменными эффектами в зависимости от размера браузера клиента. background-size
поддерживается в Firefox, Safari, Chrome, Opera и IE9 +.
Что вы думаете об этой технике - изящный трюк или полезный инструмент? Вы бы использовали это на своем личном веб-сайте? Как насчет бизнес-сайта?
Фотографии, представленные в этом посте, были сделаны в Лондоне во время хакатона MooTools.
Как установить размер фонового изображения с помощью CSS?
Как установить размер фонового изображения с помощью CSS? Следующая статья познакомит вас с методом использования CSS для установки размера фонового изображения, я надеюсь, что это будет вам полезно.
Свойство CSS background-size можно использовать для установки размера фонового изображения; используйте значения свойств высоты и ширины, чтобы установить размер фонового изображения.
грамматика:
размер фона: ширина высота;
примечание:
● Если первое значение не указано, изображение принимает исходную ширину.
● Если второе значение не указано, изображение примет исходную высоту.
Пример 1: background-size устанавливает значения ширины и высоты для установки размера фонового изображения.
Установить размер фонового изображения
<стиль>
# myDiv1 {
высота: 200 пикселей;
ширина: 400 пикселей;
фон: url ("1.jpg ");
размер фона: 400 пикселей 200 пикселей;
}
# myDiv2 {
высота: 337 пикселей;
ширина: 600 пикселей;
фон: url ("1.jpg");
размер фона: 600 пикселей 337 пикселей;
}
Эффект изображения:
Пример 2: Установить размер фона в процентах
Установить размер фонового изображения
<стиль>
# myDiv1 {
высота: 200 пикселей;
ширина: 400 пикселей;
фон: url ("1.jpg ");
размер фона: 70%;
фон-повтор: без повторения;
}
# myDiv2 {
высота: 400 пикселей;
ширина: 600 пикселей;
фон: url ("1.jpg");
размер фона: 70%;
фон-повтор: без повторения;
}
Эффект изображения:
Рекомендуемая литература:
php сервер
php5 загрузить
фреймворк Layui
Как подделать адаптивное фоновое изображение половинной ширины
Недавно я столкнулся с разработкой, в которой требовались фоновые изображения в столбцах половинной ширины, но также требовалось покрывать поля, идущие до самого края экрана (т.е. за пределами столбца сетки половинной ширины), и я обнаружил, что лучший способ сделать это - подделать его с помощью процентного фона , позиция .
Столбец справа занимает 7 из 12 столбцов сетки в контейнере максимальной ширины 1200 пикселей. Фоновое изображение должно занимать всю правую часть раздела независимо от ширины экрана.
Проблема с попыткой добавить фоновое изображение, покрывающее половину страницы, особенно если вы используете сетку, заключается в том, что вам нужно, чтобы фон выходил за пределы контейнера максимальной ширины на поля.Вы не можете установить размер фона в процентах, потому что вам нужно, чтобы высота и ширина вычислялись автоматически с помощью свойства обложки. Вместо этого, самый простой способ сделать это, не отказываясь от вашей системы сеток, - это запечь пустое пространство в вашем изображении и добавить фон в полноширинный контейнер для вашего контента. Затем установите для фона положение в процентном соотношении, которое соответствует ширине столбца, который должен быть покрыт, и фон будет масштабироваться соответствующим образом.
Итак, в этом случае html выглядит примерно так: первый столбец имеет ширину пять из двенадцати столбцов сетки, а второй столбец - семь из двенадцати столбцов.
Столбцы вложены в контейнер максимальной ширины. Но все это упаковано в контейнер полной ширины - и туда помещается фоновое изображение. Чтобы получить правильное размещение, я знаю, что граница между двумя столбцами находится между пятью столбцами слева и семью столбцами справа.5/12 = 41,67. Так что установите положение фона на 41,67%, и все масштабируется.
На более узком экране
На большом экране
Может потребоваться небольшая настройка для очень больших или очень маленьких точек останова в зависимости от границ вашей сеточной системы и того, сколько у вас свободы действий с дизайном. В моем случае все, что требовалось, - это небольшое отступление слева во втором столбце, чтобы облегчить небольшое изменение положения фона при изменении размера экрана.
Загрузить фоновые изображения в зависимости от размера экрана
TL; DR
: если все, что вас интересует, - это код для выполнения этой работы, перейдите в этот раздел и возьмите фрагмент кода.
Адаптивный фон Дисплей не отвечает Фон Загрузка
Установка свойства фона 'background-size' на 'cover' позволяет нам гарантировать, что он полностью покрывает область фона на экране любого размера. Но поскольку одно и то же изображение загружается независимо от размера экрана, этот параметр влияет только на отображение изображения, а не на загруженное изображение. В результате у вас может быть фоновое изображение размером 1400 пикселей, загруженное на мобильный экран Google Nexus 4.
html {
фон: url ('large_bg.jpg') центральный центр без повтора исправлен;
размер фона: обложка;
-webkit-background-size: обложка;
-o-background-size: обложка;
-moz-background-size: обложка;
}
Загрузка адаптивного фонового изображения
Использование медиа-запросов позволяет нам указывать разные фоновые изображения для разных размеров экрана исключительно с помощью CSS. Таким образом, браузер загружает фоновое изображение, размер которого соответствует размеру экрана.
@media screen и (max-width: 480 пикселей) {
html {
фон: url ('small_bg.jpg') центральный центр без повтора исправлен;
}
}
@media screen и (min-width: 481px) и (max-width: 900px) {
html {
фон: url ('med_bg.jpg') центральный центр без повтора исправлен;
}
}
@media screen и (min-width: 901px) {
html {
фон: url ('large_bg.jpg') центральный центр без повтора исправлен;
}
}
html {
размер фона: обложка;
-webkit-background-size: обложка;
-o-background-size: обложка;
-moz-background-size: обложка;
}
Запретить загрузку фона скрытых элементов
В случае, если вы хотите убедиться, что фоновое изображение для элемента, который скрыт на определенном экране, не загружается, просто используйте медиа-запросы CSS, чтобы установить для фона значение «none» для этого размера экрана.