background-repeat
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.
Свойство background-repeat CSS задаёт способ повторения фоновых изображений. Фоновое изображение может повторяться по горизонтали и вертикали или вообще не повторяться.
Попробуйте
Синтаксис
/* Keyword values */ background-repeat: repeat; background-repeat: repeat-x; background-repeat: repeat-y; background-repeat: space; background-repeat: round; background-repeat: no-repeat; /* Two-value syntax: horizontal | vertical */ background-repeat: repeat space; background-repeat: repeat repeat; background-repeat: round space; background-repeat: no-repeat round; /* Global values */ background-repeat: inherit; background-repeat: initial; background-repeat: revert; background-repeat: revert-layer; background-repeat: unset;
Описание
Это свойство принимает два <repeat-style> ключевых слова или одно ключевое слово в качестве сокращения для двух значений. Если заданы два значения, первое определяет поведение горизонтального повторения, а второе — вертикального. Значения свойства могут использоваться для повторения только по горизонтали, только по вертикали или вообще без повторения.
Значение по умолчанию — repeat repeat. В этом случае фоновое изображение сохраняет своё собственное соотношение сторон, повторяясь по горизонтали и вертикали, чтобы покрыть всю область отрисовки фона, а крайние изображения обрезаются до размера элемента. Какие именно края обрезаются, зависит от значения свойства background-position. Сколько раз они повторяются и насколько сильно обрезаются изображения на краях, зависит от размера области отрисовки фона и background-size.
Повторяющиеся изображения могут быть равномерно распределены, гарантируя, что повторяемое изображение сохраняет своё соотношение сторон без обрезки. С помощью значения space если область отрисовки фона имеет другое соотношение сторон, чем изображение, или если размер области отрисовки фона не кратен размеру фонового изображения в любом из направлений, то некоторые области фона не будут покрыты изображением.
В качестве альтернативы, повторяемое фоновое изображение можно растянуть, чтобы оно покрыло всю область без обрезки. С помощью round, повторяемое изображение растягивается для заполнения всего доступного места, пока не появится место для добавления дополнительного повторяемого изображения, если соотношение сторон фонового изображения не совпадает с соотношением сторон области отрисовки. Например, если фоновое изображение имеет размеры 100px × 100px, а область отрисовки фона — 1099px × 750px, изображение будет повторено 10 раз по горизонтали и 7 раз по вертикали, для общего количества повторений 70. При этом каждое изображение будет растянуто до размеров 109,9px × 105px. Если ширина области отрисовки увеличится на 1 пиксель, став 1100 пикселей, то дополнительно поместится 11-е изображение по горизонтали, и общее количество повторений составит 77. При этом каждое изображение будет нарисованы размером 100px в ширину и 105px в высоту, растянутые только по вертикали.
Значения
Это свойство принимает до двух <repeat-style> ключевых слов. Первое значение — горизонтальное повторение. Второе значение — вертикальное поведение. Если задано только одно значение, отличное от repeat-x или repeat-y, это значение применяется к обеим осям. Доступные значения включают:
repeat-
Значение по умолчанию. Изображение повторяется столько раз, сколько необходимо, чтобы покрыть всю область отрисовки фонового изображения, с обрезкой крайних изображений, если размер области отрисовки не кратен размеру фонового изображения.
no-repeat-
Изображение не повторяется (и, следовательно, область отрисовки фонового изображения не обязательно будет полностью покрыта). Позиция неповторяемого фонового изображения определяется свойством CSS
background-position. space-
Изображение повторяется по возможности без обрезки. Первое и последнее изображения закрепляются по бокам элемента, а пробелы равномерно распределяются между изображениями. Свойство
background-positionигнорируется, если одно изображение можно отобразить без обрезки. Единственный случай, когда происходит обрезка при использованииspace, — это когда нет места для отображения хотя бы одного изображения. round-
По мере увеличения доступного места повторяющиеся изображения будут растягиваться (без промежутков) до тех пор, пока не появится место для добавления следующего. Это единственное
<repeat-style>значение, которое может привести к искажению соотношения сторон фонового изображения соотношение сторон, что произойдёт, если соотношение сторон фонового изображения отличается от соотношения сторон области отрисовки. repeat-x-
Сокращение для
repeat no-repeat, фоновое изображение повторяется только по горизонтали, с обрезкой крайнего изображения, если ширина области отрисовки не кратна ширине фонового изображения. repeat-y-
Сокращение для
no-repeat repeat, фоновое изображение повторяется только по вертикали, с обрезкой крайнего изображения, если высота области отрисовки не кратна высоте фонового изображения.
Если предоставлено одно <repeat-style> ключевое слово, оно является сокращением для следующего синтаксиса с двумя значениями:
| Одно значение | Эквивалент с двумя значениями |
|---|---|
repeat-x | repeat no-repeat |
repeat-y | no-repeat repeat |
repeat | repeat repeat |
space | space space |
round | round round |
no-repeat | no-repeat no-repeat |
Формальное определение
| Начальное значение | repeat |
|---|---|
| Применяется к | всем элементам. Также применяется к ::first-letter и ::first-line. |
| Унаследованное | нет |
| Вычисленное значение | список, каждый элемент которого состоит из двух ключевых слов, по одному на размерность |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Настройка background-repeat
HTML
<ol>
<li>
no-repeat
<div class="one"></div>
</li>
<li>
repeat
<div class="two"></div>
</li>
<li>
repeat-x
<div class="three"></div>
</li>
<li>
repeat-y
<div class="four"></div>
</li>
<li>
space
<div class="five"></div>
</li>
<li>
round
<div class="six"></div>
</li>
<li>
repeat-x, repeat-y (multiple images)
<div class="seven"></div>
</li>
</ol>
CSS
/* Shared for all DIVS in example */
ol,
li {
margin: 0;
padding: 0;
}
li {
margin-bottom: 12px;
}
div {
background-image: url(star-solid.gif);
width: 160px;
height: 70px;
}
/* Background repeats */
.one {
background-repeat: no-repeat;
}
.two {
background-repeat: repeat;
}
.three {
background-repeat: repeat-x;
}
.four {
background-repeat: repeat-y;
}
.five {
background-repeat: space;
}
.six {
background-repeat: round;
}
/* Multiple images */
.seven {
background-image: url(star-solid.gif), url(favicon32.png);
background-repeat: repeat-x, repeat-y;
height: 144px;
}
Результат
В этом примере каждый элемент списка сопоставлен с различным значением background-repeat.
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
2-value |
3 | 12 | 13 | 10.5 | 5 | 18 | 14 | 11 | 4 | 1.0 | 4.4 |
background-repeat |
1 | 12 | 1 | 3.5 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
multiple_backgrounds |
1 | 12 | 3.6 | 10.5 | 1.3 | 18 | 4 | 11 | 1 | 1.0 | 4.4 |
no-repeat |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
repeat |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
repeat-x |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
repeat-y |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
round |
30 | 12 | 49 | 1710.5–15 | 8 | 30 | 49 | 18 | 8 | 2.0 | 4.4 |
space |
30 | 12 | 49 | 1710.5–15 | 8 | 30 | 49 | 18 | 8 | 2.0 | 4.4 |
См. также
- Другие сокращения компонентов
background:background-attachment,background-clip,background-color,background-image,background-origin,background-position(background-position-xиbackground-position-y), иbackground-size - Использование нескольких фонов
- Модуль CSS фоны и границы
- Понимание соотношений сторон
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat