Помимо хорошо известных четырех значений свойства
-
1 background-repeat,
1 repeat,
1 no-repeat,
1 repeat-x, в спецификации CSS3 появились еще два, с которыми я познакомился совсем недавно.
1 repeat-y
Перечислим их:
1
background-repeat: round
1
background-repeat: space
Отлично, скажете вы! Ну и что, что же это за свойства? Мало прежних четырех? Давайте разберемся сначала, что это за свойства, а уже потом будем говорить, нужны они или не нужны.
Свойство background-repeat: repeat
Для начала посмотрим, как работает простое и привычное нам значение
:1
repeat
Видим, как браузер аккуратно сделал все, что мы от него требовали - размножил фоновое изображение по горизонтали и по вертикали. Что не вместилось в блок, то было обрезано. Получилось несколько некрасиво; но зато - что требовали.
Свойство background-repeat: round
В спецификации CSS3 появилось одно из двух значений свойства
, которое делает попытку исправить ситуацию и выполнять “заливку” фона более красиво и “интеллектуально”. Это значение называется 1
background-repeat
- от английского округлять.1
round
Работает оно по следующему принципу - изображение размножается по вертикали и горизонтали фона блока, как и прежде. Но при этом браузер определяет, сколько раз удалось поместить изображение в блок без обрезки (по вертикали и по горизонтали). Сколько “целых” раз удалось поместить - столько раз он и помещает. А с оставшимся пустым пространством он поступает так - растягивает изображение по вертикали и горизонтали, чтобы равномерно заполнить это пустое пространство.
Пример показан ниже:
Результат получился не слишком красивый, конечно. Но зачет - попытка сделана. А если быть более точным и без всякого “юмора”, то такой способ хорошо подойдет для фоновых изображений небольшого размера.
Свойство background-repeat: space
Еще одно значение свойства
из спецификации CSS3, призванное решить проблему красивого размещения фонового изображения в блоке элемента, это значение 1
background-repeat
.1
space
Принцип работы этого свойства аналогичен значению
- браузер также считает количество целых “вхождений” изображения в фон элемента. Но вот с пустым пространством он поступает несколько иначе. Браузер равномерно распределяет его между изображениями (размер которых он оставляет неизменными).1
round
Чтобы было понятно, о чем идет речь, посмотрите на пример ниже:
Мною намеренно были изменены размер блока, для которого “прописывалось” фоновое изображение; и размер самого изображения также. Все было сделано с целью более наглядного представления, как работает значение
для свойства 1
space
.1
background-repeat
На рисунке выше хорошо видно, как браузер равномерно распределил пустое пространство по вертикали и горизонтали между изображениями.
Значения Round & Space - поддержка браузерами
В заключение осталось упомянуть последнее - какими браузерами поддерживаются оба значения свойства
. Похвастаться особо нечем - только два браузера на момент написания этой статьи поддерживают 1
background-repeat
и 1
space
. Первый - это Google Chrome начиная с 1
round
. А вот второй браузер, который может похвастаться (держитесь крепче за стул!) - это Internet Explorer v10.1
v.32
Поддержка с помощью Modernizr
В библиотеку Modernizr включена (благодаря ходатайству Louis Lazaris) поддержка значений
и 1
round
CSS-свойства 1
space
с помощью соответствующих классов 1
background-repeat
и 1
bgrepeatspace
. Поэтому, теперь можно использовать эту библиотеку для определения возможности поддержки в браузерах.1
bgrepeatround
Например, таким кодом:
Заключение
Вот, в принципе, и все по значениям
и 1
round
свойства 1
space
. В статье активно использовались мысли (и даже код, когда шла речь о Modernizr) из источника:1
background-repeat
CSS3′s ‘space’ and ‘round’ Values for background-repeat
На этом все.