CSS3 Слои фона изображений
В этой главе вы узнаете, как добавить несколько фоновых изображений в один элемент.
Вы также узнаете о следующих свойствах:
background-size
background-origin
background-clip
CSS3 Несколько фоновых изображений
CSS3 позволяет добавлять несколько фоновых изображений для элемента с помощью свойства
background-image
.
Несколько фоновых изображений разделяются запятыми, изображения укладываются друг на друга, где первое изображение ближе всего к зрителю.
Следующий пример имеет два фоновых изображения, первое изображение цветок (выравнивается по нижнему-правому краю), а второе изображение представляет собой фон бумаги (выравнивается по верхнему-левому углу):
Пример
#example1 {
background-image: url(img_flwr.gif), url(paper.gif);
background-position: right bottom, left top;
background-repeat: no-repeat, repeat;
}
Попробуйте сами »
Несколько фоновых изображений могут быть заданы с помощью свойства background-image
(как выше в примере) или сокращенного свойства background
.
В следующем примере используется сокращенное свойство background
(тот же результат, что и в примере выше):
Пример
#example1 {
background: url(img_flwr.gif) right bottom
no-repeat, url(paper.gif) left top repeat;
}
Попробуйте сами »
CSS3 Размер фоновых изображений
CSS3 свойство background-size
позволяет указать размер фоновых изображений.
Размер может быть указан в длинах, процентах или с помощью одного из двух ключевых слов:
contain
или cover
.
В следующем примере размер фонового изображения намного меньше размера исходного изображения (в пикселях):
Lorem Ipsum Dolor
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Вот код:
Пример
#div1 {
background: url(img_flower.jpg);
background-size: 100px 80px;
background-repeat: no-repeat;
}
Попробуйте сами »
Два других возможных значения для background-size
являться
contain
и cover
.
Ключевое слово contain
масштабирует фоновое изображение настолько, насколько это возможно
(где ширина и высота должны поместиться внутри области содержимого). Таким образом, в зависимости от пропорций фонового
изображения и расположения зоны фона, некоторые области фона, не покрываються фоновым изображением.
Ключевое слово cover
масштабирует фоновое изображение так, чтобы область контента
полностью покрывалась фоновым изображением (его ширина и высота равны или больше область содержимого).
Таким образом, некоторые части фонового изображения могут быть не видимы в зоне расположенной области.
Следующий пример иллюстрирует использование значений contain
и cover
:
Пример
#div1 {
background: url(img_flower.jpg);
background-size: contain;
background-repeat: no-repeat;
}
#div2 {
background: url(img_flower.jpg);
background-size: cover;
background-repeat: no-repeat;
}
Попробуйте сами »
Определение размеров нескольких фоновых изображений
Свойство background-size
также принимает несколько значений для размера фона
(через запятую), при работе с несколькими фонами.
В следующем примере заданы три фоновых изображения с различными фоновыми размерами каждого изображения:
Пример
#example1 {
background: url(img_tree.gif) left top
no-repeat, url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top
repeat;
background-size: 50px, 130px, auto;
}
Попробуйте сами »
Полный размер фоновое изображение
Теперь мы хотим иметь фоновое изображение на веб сайте, которое появится в окне браузера на все время.
Требования следующие:
- Заполнить всю страницу изображением (без пробелов)
- Масштабировать изображение по мере необходимости
- Центрировать изображение на странице
- Не вызывать полосы прокрутки
В следующем примере показано, как это сделать; используйте элемент html
(html - элемент всегда находится по крайней мере на верху окна браузера). Затем установите фиксированный и центрированный фон на нем.
Затем измените его размер с помощью свойства background-size
:
Пример
html {
background: url(img_flower.jpg) no-repeat
center fixed;
background-size: cover;
}
Попробуйте сами »
CSS3 свойство background-origin
CSS3 свойство background-origin
указывает, где находится установленное фоновое изображение.
Свойство принимает три различных значения:
border-box
- фоновое изображение начинается с верхнего левого угла границыpadding-box
- (по умолчанию) фоновое изображение начинается с верхнего левого угла края отступаcontent-box
- фоновое изображение начинается с верхнего левого угла содержимого
Следующий пример иллюстрирует свойство background-origin
:
Пример
#example1 {
border: 10px solid black;
padding: 35px;
background: url(img_flwr.gif);
background-repeat: no-repeat;
background-origin: content-box;
}
Попробуйте сами »
CSS3 Свойство background-clip
CSS3 свойство background-clip
задает область рисования фона.
Свойство принимает три различных значения:
border-box
- (по умолчанию) фон окрашивается к внешнему краю границыpadding-box
- фон окрашен по краям отступаcontent-box
- фон окрашивается в боксе содержимого
Следующий пример иллюстрирует свойство background-clip
:
Пример
#example1 {
border: 10px dotted black;
padding: 35px;
background: yellow;
background-clip: content-box;
}
Попробуйте сами »
CSS3 Упражнения
Свойства CSS3 дополнение фона
Свойство | Описание |
---|---|
background | Сокращенное свойство для установки всех свойств фона в одном объявлении |
background-clip | Определяет область рисования фона |
background-image | Определяет одно или несколько фоновых изображений для элемента |
background-origin | Определяет где фоновое изображение(я) является/являются позиционируемыми |
background-size | Определяет размер фонового изображения(й) |