- background — repeat
- Кратко
- Пример
- Как пишется
- Подсказки
- На практике
- Алёна Батицкая советует
- responsive div background, but no repeat
- 2 Answers 2
- background-repeat
- Интерактивный пример
- Синтаксис
- Значения
- Примеры
- HTML
- CSS
- Результат
- Спецификация
- Поддержка браузеров
- Смотрите также
- Found a content problem with this page?
- MDN
- Support
- Our communities
- Developers
- CSS: Full Size background image
- 6 Answers 6
background — repeat
При помощи этого свойства и небольшой картинки можно создавать красивые паттерны на фоне.
Время чтения: меньше 5 мин
Кратко
Скопировать ссылку «Кратко» Скопировано
Свойство background — repeat управляет повтором фонового изображения. По умолчанию значение этого свойства — repeat , то есть фоновая картинка будет повторяться по вертикали и по горизонтали.
Пример
Скопировать ссылку «Пример» Скопировано
div class="element">div>
.element height: 100vh; background-image: url(images/pattern.png); background-size: 64px auto;>
.element height: 100vh; background-image: url(images/pattern.png); background-size: 64px auto; >
Получился красивый паттерн. Изображение повторяется по горизонтали и по вертикали.
Изменим значение на repeat — x :
.element background-repeat: repeat-x;>
.element background-repeat: repeat-x; >
Теперь картинка повторяется только по горизонтали. Аналогично можно повторить картинку по вертикали при помощи значения repeat — y .
Но чаще всего в работе встречается значение no — repeat . С таким значением фоновая картинка не будет повторяться ни по горизонтали, ни по вертикали.
Как пишется
Скопировать ссылку «Как пишется» Скопировано
В качестве значения для свойства background — repeat используются следующие ключевые слова:
- no — repeat — фоновое изображение не повторяется, остаётся только одно внутри элемента.
- repeat — изображение повторяется и по горизонтали, и по вертикали до тех пор, пока не заполнит всю площадь элемента (значение по умолчанию).
- repeat — x — фон повторяется по горизонтали.
- repeat — y — фон повторяется по вертикали.
- space — изображение повторяется до тех пор, пока не заполнит весь элемент. При этом, если по размерам не удаётся повторить изображение без обрезки, то между картинками добавляется равное пространство. Крайне редко требуется в работе.
- round — изображение повторяется так, чтобы заполнить весь элемент. Но картинка не обрезается, повторяется целое количество раз. Если это не удаётся, то картинка масштабируется. Крайне редко требуется в работе.
Ключевые слова repeat и no — repeat можно комбинировать, чтобы управлять повторениями по горизонтали (первое значение) и по вертикали (второе значение). Но проще указывать специальные ключевые слова repeat — x и repeat — y .
Подсказки
Скопировать ссылку «Подсказки» Скопировано
💡 Значение по умолчанию — repeat .
💡 Чаще всего для полноэкранных фонов указывается значение no — repeat .
💡 Свойство background — repeat нельзя анимировать 😒
На практике
Скопировать ссылку «На практике» Скопировано
Алёна Батицкая советует
Скопировать ссылку «Алёна Батицкая советует» Скопировано
background — repeat — свойство простое. Написано повторять — повторяем фон. Написано не повторять — не повторяем.
🛠 С помощью повторения фона и линейного градиента ( linear — gradient ) можно создавать полосатые фоны.
div class="element">div>
.element height: 100vh; background-image: linear-gradient( #49a16c 50px, #064236 0 ); background-size: 100% 100px; background-repeat: repeat-y;>
.element height: 100vh; background-image: linear-gradient( #49a16c 50px, #064236 0 ); background-size: 100% 100px; background-repeat: repeat-y; >
responsive div background, but no repeat
Here is my issue on desktop it’s looking perfectly fine. Desktop Picture: But as soon as I start to scale the page this happens. Mobile Picture:
Any suggestions will be greatly appreciated, I feel like I’ve tried just about everything. And the reason I’m using a div background as opposed to just an image, I’m overlaying a youtube embed over the left side of the div. Thanks so much! Adam.
background-repeat:no-repeat does not work, it only stops it from repeating and shows white space on top and bottom as I scale smaller.
2 Answers 2
background-repeat: no-repeat;
So it looks something like
Also here’s a great link on getting full container backgrounds. https://css-tricks.com/perfect-full-page-background-image/
Also as a side note you could use short hand and combine all your css properties.
background: url(imgs/rpp-behind-the-scenes-hero2bg.jpg) no-repeat center center fixed;
Try using background size cover and also add the position fixed property to the background. Like in the link I provided it generally gives much better results
Just added cover, still looks fine on desktop full width as noted. But this is what happens when you scale: i.imgur.com/O8tttoR.png
There are two images in DIVs above and below your .videobackground div that contain the same picture, but conflict with your background image.
You should wrap these 3 DIVs with another DIV and assign the background image to that DIV (and remove it from the others)
(also make sure to use background-repeat: no-repeat , background-size: cover and background-position: center center )
Change that as I wrote above to something like:
In the CSS, remove the background-image from .videobackground and add it to `#wrapper’, like
Now all three DIVs have one common background image instead of the not-fitting-together three partial images before.
background-repeat
Свойство background-repeat устанавливает, как фоновые изображения будет повторяться. Они могут повторяться по горизонтальной и вертикальной оси или не повторяться вовсе.
Интерактивный пример
Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на извлечение.
По умолчанию, изображения обрезаются по размеру элемента, но их можно масштабировать (используя round ) или равномерно растянуть от конца к концу (используя space ).
Синтаксис
/*Ключевые значения*/ background-repeat: repeat-x; background-repeat: repeat-y; background-repeat: repeat; background-repeat: space; background-repeat: round; background-repeat: no-repeat; /*Два значения: горизонтальное | вертикальное*/ background-repeat: repeat space; background-repeat: repeat repeat; background-repeat: round space; background-repeat: no-repeat round; /* Глобальные значения */ background-repeat: inherit; background-repeat: initial; background-repeat: unset;
Значения
-
-
: Следующие однозначные имеют двухзначные эквиваленты: 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 Изображения повторяются столько, сколько необходимо, чтобы полностью покрыть область элемента, последнее обрезается, если не хватает места. space Изображение повторяется в заданном направлении столько раз, сколько необходимо, чтобы покрыть большую часть области рисования фонового изображения, не обрезая изображение. Оставшееся незакрытое пространство равномерно распределено между изображениями. Первое и последнее изображения касаются края элемента. Значение CSS-свойства background-position игнорируется для рассматриваемого направления, за исключением случаев, когда отдельное изображение больше области рисования фонового изображения, что является единственным случаем, когда изображение может быть обрезано, когда используется значение space . round Изображение повторяется в заданном направлении столько раз, сколько необходимо, чтобы покрыть большую часть области рисования фонового изображения, не обрезая изображение. Если оно не покрывает точно область, плитки изменяются в этом направлении, чтобы соответствовать ей. no-repeat Изображение не повторяется (и, следовательно, область рисования фонового изображения не обязательно будет полностью покрыта). Расположение неповторяющегося фонового изображения определяется CSS-свойством background-position .
Примеры
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>repeat-x, repeat-y (multiple images) div class="five"> div> li> ol>
CSS
/* Совместно для всех DIVS в примере */ li margin-bottom: 12px;> div background-image: url(starsolid.gif); width: 144px; height: 84px; > /* повторение фона CSS */ .one background-repeat: no-repeat; > .two background-repeat: repeat; > .three background-repeat: repeat-x; > .four background-repeat: repeat-y; > /* Несколько изображений */ .five background-image: url(starsolid.gif), url(https://developer.mozilla.org/static/img/favicon32.png); background-repeat: repeat-x, repeat-y; height: 144px; >
Результат
В этом примере каждому элементу списка соответствует другое значение background-repeat .
Спецификация
Начальное значение repeat Применяется к все элементы. Это также применяется к ::first-letter и ::first-line . Наследуется нет Обработка значения список, каждый элемент которого содержит 2 ключевых слова, по одному на размер Animation type discrete Поддержка браузеров
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
This page was last modified on 22 февр. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
Our communities
Developers
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.CSS: Full Size background image
When you say stretched, do you mean the shape of the image is distorted, or that the top and bottom of the image are cut off? And which browsers have you tried this on?
6 Answers 6
Your screen is obviously a different shape to your image. This is not uncommon, and you should always cater to this case even if your screen is the same shape (aspect ratio), because other people’s screens will not always be. To deal with this, you have only one of three options:
- You can choose to completely cover the screen with your image, but not distort the image. In this case, you will need to cope with the fact that edges of your image will be cut off. For this case, use: background-size: cover
- You can choose to make sure the entire image is visible, and not distorted. In this case, you’ll need to cop with the fact that some of the background will not be covered by your image. The best way to deal with this is to give the page a solid background, and design your image to fade into the solid (although this is not always possible). For this case, use: background-size: contain
- You can choose to cover the entire screen with your background, and distort it to fit. For this case, use: background-size: 100% 100%
you can partially avoid distortion of the image aspect ratio by constraining either image minimum dimension (e.g. min-height: 700px; ).
most of times I use the first option background-size: cover with media queries that serve different aspect ratios of that image.
-