background-repeat в CSS


Содержание

Фон в CSS – памятка для начинающих

При вёрстке страниц веб-сайта часто требуется задать фон определённому объекту для улучшения читаемости текста и внешнего вида портала в целом. Какими способами и методами можно задавать фон в CSS?

Работа с фоном в CSS

С помощью свойства background можно задать положение, цвет, изображение, повторяемость и привязку фона, как для отдельных элементов, так и полностью для всего сайта, что по своей сути, кстати, является заданием определённых настроек для тега . Рассмотрим все свойства, которые связаны с заданием фона.

background-color

Задаёт цвет фона. Его можно применять как к отдельным элементам

, так и ко всему веб-сайту с помощью тега .

background-image

Данное свойство используется для вставки фоновой картинки, указывая при этом ссылку на неё.

Обратите внимание на то, как указан путь к картинке. Это значит, что изображение должно находиться в той же директории, что и файл стилей CSS. Иначе придётся указывать полный путь к файлу.

background-repeat

Изображение из предыдущего примера будет повторяться по всему экрану благодаря данному свойству.

Оно может иметь несколько значений:

  • background-repeat: repeat-x — повторение по горизонтали;
  • background-repeat: repeat-y — повторение по вертикали;
  • background-repeat: repeat — повторение и по горизонтали и по вертикали;
  • background-repeat: no-repeat — изображение не повторяется.

Например, повторение по горизонтали выглядит так:

background-attachment

Это свойство определяет фиксирование фонового изображения при скроллинге:

  • background-attachment: scroll — фон прокручивается вместе со страницей;
  • background-attachment: fixed — фон остаётся неподвижным.

background-position

Данное свойство определяет расположение фоновой картинки относительно экрана. Значения свойства представляют собой набор вертикальных и горизонтальных координат, отсчет которых начинается с верхнего левого угла.

Свойство может задаваться в процентном формате, в пикселях, сантиметрах или словесно: top, bottom, center, right, left .

  • background-position: 50% 20% — изображение располагается по центру по горизонтали и на 20% отступает сверху;
  • background-position: 80px 60px — отступ изображения вниз на 80 пикселей от верхнего края и на 60 пикселей вправо от левого:

gradient

Плавный переход от одного цвета к другому, причем переходов допускается несколько.

Использование градиента можно наглядно продемонстрировать в примере кода:

Все приведённые настройки можно сделать в одном свойстве background, записав их в перечисленном порядке.

Если пропустить какое-либо свойство, для него устанавливается значение по умолчанию.

Работа с размером фона в CSS

В CSS 2.1 фоновая картинка сохраняет фиксированный размер, однако в CSS 3 было введено подсвойство size, благодаря которому фоновое изображение может быть растянуто или сжато.

Существует несколько способов, позволяющих определить размер:

Абсолютное изменение размера

Ширина и высота по умолчанию устанавливаются автоматически, а новый размер можно задать с помощью различных единиц измерения.

Например, если исходное изображение имеет разрешение 300 на 300 пикселей, то такой код сделает его ширину в два раза меньше:

Если указано только одно значение, оно по умолчанию считается как ширина, высота определяется автоматически, и пропорции сохраняются.

Код, который масштабирует картинку до размера 100 на 100 пикселей, выглядит так:

Относительное изменение размера

Если применять проценты, размер будет основываться не на изображении, а на элементе.


То есть, ширина фонового изображения зависит от параметров контейнера. Если ширина контейнера составляет 600 пикселей, размер фонового изображения уменьшится до величины 300 на 300 пикселей.

Как показывает практика, использование процентов весьма полезно для адаптивного дизайна.

Масштабирование до максимального размера

В свойстве background-size значение contain масштабирует фоновое изображение так, чтобы оно полностью заполняло контейнер или всю страницу.

Уменьшение или увеличение происходит пропорционально до тех пор, пока высота или ширина не будет выходить за рамки контейнера.

Такой фон страницы будет автоматически подгоняться под любое разрешение:

Заполнение фоном

Используя в свойстве background-size значение cover, фон масштабируется таким образом, чтобы заполнить всё пространство контейнера.

В том случае, если соотношения сторон различаются, картинка обрежется:

Масштабирование сразу нескольких фонов

Они могут быть масштабированы при помощи списка значений, которые разделены запятыми в том же порядке:

Создание полупрозрачного фона в CSS

Полупрозрачный элемент хорошо заметен на фоновом рисунке. В веб-дизайне полупрозрачность достигается за счёт свойства opacity или задаваемого для фона формата цвета RGBA.

Особенность данного свойства заключается в том, что прозрачность действует не только на фон, но и на все дочерние элементы. После увеличения прозрачности, и текст и фон станут полупрозрачными.

Пример создания полупрозрачного блока:

Однако достаточно часто полупрозрачным должен быть только фон определённого элемента, а текст оставаться непрозрачным для читабельности.

В таком случае opacity не подходит и следует воспользоваться форматом RGBA, в котором помимо значений яркости синего, красного и зелёного цветов устанавливается ещё и значение прозрачности. 1 означает абсолютную непрозрачность, а 0 — полную прозрачность.

Пример задания прозрачного фона:

Надеемся, что данное руководство вам пригодилось, и желаем успехов в освоении веб-дизайна!

background-repeat

Поддержка браузерами

12.0+ 4.0+ 1.0+ 1.0+ 3.5+ 1.0+

Описание

CSS свойство background-repeat определяет, как фоновое изображение будет повторяться на экране: по вертикали, по горизонтали или сразу в обоих направлениях. Оно так же позволяет отменить повторение фонового изображения, то есть оно будет выведено всего один раз.

Допускается указывать более одного значения, через запятую. Каждое новое значение применяется к соответствующему фоновому изображению в том порядке, который определён в свойстве background-image.

Примечание: если вы решили применить повторяющееся фоновое изображение, то начальную точку или координату первого отображаемого фонового изображения можно определить с помощью свойства background-position. Например, если вы примените значение repeat, то весь фон элемента будет заполнен фоновой картинкой. Но именно background-position укажет, с какой позиции нужно начать повторное отображение.

Илон Маск рекомендует:  Что такое код array_filter

CSS background-repeat

Свойство background-repeat позволяет задать повторение по горизонтали и вертикали для картинки, установленной с помощью свойства background-image.

Возможные значения:

repeat — повторение по горизонтали и по вертикали.

repeat-x — повторение по горизонтали.

repeat-y — повторение по вертикали.

no-repeat — изображение не повторяется.

Значение по умолчанию: repeat

Наследуется: нет

Можно указывать два значения через запятую, тогда первое значение указывает повторение по горизонтали, а второе значение указывает повторение по вертикали.

CSS background-repeat Property

Example

Repeat a background-image only vertically:


More «Try it Yourself» examples below.

Definition and Usage

The background-repeat property sets if/how a background image will be repeated.

By default, a background-image is repeated both vertically and horizontally.

Tip: The background image is placed according to the background-position property. If no background-position is specified, the image is always placed at the element’s top left corner.

Default value: repeat
Inherited: no
Animatable: no. Read about animatable
Version: CSS1
JavaScript syntax: object.style.backgroundRepeat=»repeat-x» Try it

Browser Support

The numbers in the table specify the first browser version that fully supports the property.

Property
background-repeat 1.0 4.0 1.0 1.0 3.5

Note: IE8 and earlier do not support multiple background images on one element.

CSS Syntax

Property Values

Value Description Play it
repeat The background image is repeated both vertically and horizontally. The last image will be clipped if it does not fit. This is default Play it »
repeat-x The background image is repeated only horizontally Play it »
repeat-y The background image is repeated only vertically Play it »
no-repeat The background-image is not repeated. The image will only be shown once Play it »
space The background-image is repeated as much as possible without clipping. The first and last images are pinned to either side of the element, and whitespace is distributed evenly between the images Play it »
round The background-image is repeated and squished or stretched to fill the space (no gaps) Play it »
initial Sets this property to its default value. Read about initial Play it »
inherit Inherits this property from its parent element. Read about inherit

More Examples

Example

Repeat a background image both vertically and horizontally (this is default):

Example

Repeat a background image only horizontally:

Example

Do not repeat a background image. The image will only be shown once:

Example

Using background-repeat: space and background-repeat: round:

#example2 <
border: 2px solid black;
padding: 25px;
background: url(«w3css.gif»);
background-repeat: space;
>

#example3 <
border: 1px solid black;
padding: 25px;
background: url(«w3css.gif»);
background-repeat: round;
>

Example

Use different background properties to create a «hero» image:

CSS background-repeat Свойство

Пример

Повторить фоновое изображение только вертикально:

Подробнее примеры ниже.

Определение и использование

Свойство background-repeat устанавливает, будет ли повторено фоновое изображение.

По умолчанию фоновое изображение повторяется как по вертикали, так и по горизонтали.

Совет: Фоновое изображение размещается в соответствии со свойством Фоновая позиция. Если не указана фоновая позиция, изображение всегда помещается в верхний левый угол элемента.

Значение по умолчанию: repeat
Inherited: no
Animatable: no. Читайте о animatable
Version: CSS1
Синтаксис JavaScript: object.style.backgroundRepeat=»repeat-x»

Поддержка браузера

Номера в таблице указывают первую версию браузера, которая полностью поддерживает свойство.

Свойство
background-repeat 1.0 4.0 1.0 1.0 3.5

Примечание: IE8 и более ранние версии не поддерживают несколько фоновых изображений на одном элементе.


Синтаксис CSS

Значения свойств

Значение Описание
repeat Фоновое изображение повторяется как по вертикали, так и по горизонтали. Последнее изображение будет обрезано, если оно не умещается. Это значение по умолчанию
repeat-x Фоновое изображение повторяется только по горизонтали
repeat-y Фоновое изображение повторяется только вертикально
no-repeat Фоновое изображение не повторяется. Изображение будет показано только один раз
space Фоновое изображение повторяется как можно больше без обрезки. Первое и Последнее изображения закреплены на обеих сторонах элемента, и пробел распределяется равномерно между изображениями
round Фон-изображение повторяется и сжимается или растягивается, чтобы заполнить пространство (без зазоров)
initial Присваивает этому свойству значение по умолчанию. Читайте о initial
inherit Наследует это свойство из родительского элемента. Читайте о inherit

Другие примеры

Пример

Повторите фоновое изображение как по вертикали, так и по горизонтали (по умолчанию):

Пример

Повторить фоновое изображение только по горизонтали:

Пример

Не повторяйте фоновое изображение. Изображение будет показано только один раз:

Пример

Использование фона-повторить: пространство и фон-повторить: круглые:

CSS Background Repeat

Lets say I have an image with the width and height of 1700 x 1129px. What is the best way to be able to repeat this image so that you cannot tell that it has been repeated. I have tried using repeat-y but it looks like its another graphic.

4 Answers 4

There is nothing to do with css. Your image does not allow repeating. To repeat an image without bad effects your image has to have same start and end in the direction you want it to repeat.

There’s a quite simple trick: end your image sides in a static color (like black or dark brown in your example), center your background image and color fill your background

If you have a background which you think can be disguised by repeating horizontally then do the following.

if you think the background can be disguised by repeating vertically then do the following:

You will have to make a seamless image, that means that the upper and lower edges as well as the left and right edges of the image match their opposite edge perfectly, so no angles and color transitions being visible. The css approach using background-repeat is totally fine.

That’s often used in CG, mostly in the 3D world. There’s plenty of tutorials around on making an image seamless, found one here.

background-repeat

Easily manage projects with monday.com

If a background-image property is specified, the background-repeat property in CSS defines if (and how) it will repeat. Here’s an example:

These are the possible values for this property (besides the usual stuff like inherit ):

  • repeat : tile the image in both directions. This is the default value.
  • repeat-x : tile the image horizontally
  • repeat-y : tile the image vertically
  • no-repeat : don’t tile, just show the image once
  • space : tile the image in both directions. Never crop the image unless a single image is too large to fit. If multiple images can fit, space them out evently images always touching the edges.
  • round : tile the image in both directions. Never crop the image unless a single image is too large to fit. If multiple images can fit with leftover space, squish them or stretch them to fill the space. If it’s less than half one image width left, stretch, if it’s more, stretch.
Илон Маск рекомендует:  Операторы vba

There is also the two value syntax:

Which makes the single-value syntaxes just shorthand for the two-value syntax. For example, round is really round round .

You can also comma-separate multiple values if you’re dealing with multiple backgrounds.

Interactive demo on how space and round work, as compared to repeat :

Here’s another fun demo with hamburgers demonstrating background-repeat: round; .

Resources

Browser Support

Chrome Safari Firefox Opera IE Android iOS
1+ 1+ 1+ 3.5+ 4+ 1+ 1+

The comma-separated multiple value synta only supported in Firefox 3.6+ and IE 9+. The two-value syntax for controlling horizontal and vertical values separated only supported in Firefox 13+ and IE 9+. The round and space keywords are only Firefox 49+ and IE 9+.

background-repeat

Описание


Свойство CSS background-repeat позволяет указать, будет ли повторяться фоновое изображение для элемента установленное с помощью свойства background-image. Возможно установить режим повторение изображения по горизонтали, по вертикали, или в обе стороны одновременно. В спецификациии CSS3 позволяет задавать несколько значений через запятую для каждого из фоновых изображений. По умолчанию, фоновое изображение повторяется по вертикали и горизонтали.

background-repeat
Значения: repeat | no-repeat | repeat-x | repeat-y | inherit | round | space
Начальное значение: repeat
Область применения: все элементы
Наследование: нет
Поддержка браузерами: основные значения Internet Explorer 4+, Chrome 1+, Opera 3.5+, Safari 1+, Firefox 1+, Android +, iOS +
Поддержка браузерами: многослойные фоны Internet Explorer 9+, Chrome 1+, Opera 10.5+, Safari 1.3+, Firefox 3.6+, Android +, iOS +
Поддержка браузерами: значения space и round Internet Explorer 9+, Chrome -, Opera 10.5+, Safari -, Firefox —
Синтаксис JavaScript object.style.backgroundRepeat=»repeat-x»
Примечание:

Свойство background-repeat поддерживается всеми современными браузерами.
В спецификации CSS3 свойство background-repeat поддерживает многослойные фоны и позволяет указывать, будет ли повторяться фоновое изображение, для каджого из них. В этом случае значения перечисляются через запятую.

Синтаксис

где стиль повторения — одно из поддерживаемых значений.

Значения

Для свойства background-repeat можно использовать одно или два значения. В случае указания двух значений, первое значение задает режим повтора по горизонтали, второе — по вертикали.
Свойство background-repeat может принимать следующие значения:

no-repeat Фоновое изображение, заданное свойством background-image не повторяется. Эквивалентно no-repeat no-repeat repeat Фоновое изображение повторяется по вертикали и горизонтали. Эквивалентно repeat repeat repeat-x Фоновое изображение повторяется по горизонтали. Эквивалентно repeat no-repeat repeat-y Фоновое изображение повторяется по вертикали. Эквивалентно no-repeat repeat inherit Наследуется значение родительского элемента space Фоновое изображение повторяется столько раз, чтобы заполнить все пространство без обрезки изображения. В случае необходимости добавляются отступы между изображениями. Эквивалентно space space round Фоновое изображение повторяется столько раз, чтобы заполнить все пространство без обрезки изображения. В случае необходимости изображения масштабируются. Эквивалентно round round

Повтор фонового изображения в CSS (background-repeat)

Здравствуйте, уважаемые читатели сайта Uspei.com. Сегодня мы продолжим работу с фоновыми картинками и, изучив тему повтора фонового изображения, вы поймете всю значимость этой технологии. Это значительно сокращает время загрузки сайта, а также предоставляет много других возможностей и дизайнерских решений.

Повтор фонового изображения для body

Для начала перейдите на этот сайт и скачайте любое изображение понравившееся вам, сохранив его в нашей папке images.

Смотрите также: Фоновый цвет и фоновое изображение в CSS

До встречи! Успевайте всё и всегда на страницах блога Uspei.com

Помоги проекту — подпишись на наш Яндекс.Дзен канал!

Фон в CSS. Параметры background (color, image, position, repeat, attachment) для задания цвета фона или фоновой картинки html элементов

Здравствуйте, уважаемые читатели блога webcodius.ru. В этой статье продолжим рассматривать свойства CSS. На этот раз займемся настройками фона как для всей web-страницы, так и для отдельных элементов. Для этого используются пять CSS правил: background-position, background-image, background-repeat, background-color, background-attachment, — либо одно составное правило background. С помощью хорошо подобранного фона можно выделить важные элементы и оживить html страницу.

Если же вы впервые слышите о каскадных таблицах стилей, то предлагаю вам для начала ознакомиться со статьей о том, что такое css и как их подключить к html документу.

Итак, как я уже написал выше, за фон в CSS отвечают пять правил, которые могут быть объединены в одно сборное. Если вкратце, то:

  • background-color — задает цвет фона для любого Html элемента;
  • background-image — с помощью этого атрибута в качестве фона можно использовать картинку;
  • background-repeat — параметр повторения фоновой картинки;
  • background-position — позволяет указать позицию фонового изображения относительно элемента web страницы;
  • background-attachment — устанавливает, будет ли прокручиваться фоновое изображение вместе с содержимым элемента веб страницы.

Далее рассмотрим подробнее каждое свойство.

Background-color и background-image

Background-color и background-image два свойства, которые влияют непосредственно на то каким будет фон элемента html страницы, либо фон всей страницы.

Свойство стиля background-color служит для задания цвета фона и имеет следующий синтаксис:

background-color: transparent| |inherit

Значение transparent делает фон прозрачным. Вообще по умолчанию цвет фона в любом элементе веб страницы прозрачный. Цвет можно задать в виде RGB-кода или имени. RGB-код задается в виде шести или трех цифр шестнадцатеричного кода. Значение inherit означает, что элемент наследует настройки фона от родительского элемента.

Например, зададим для абзаца черный цвет фона и белый текст. Так это будет выглядеть в коде html страницы:

У этого абзаца черный фон и белый текст

Либо так в коде CSS файла:

p <
background-color:#000000;
color:#ffffff
>

У этого абзаца черный фон и белый текст

Остальные четыре параметра касаются только фонового изображения, которое можно задать для любого элемента web-страницы. Какой графический файл использовать в качестве фоновой картинки задает свойство стиля background-image:

По умолчанию background-image имеет значение none, то есть никакого изображения для фона не используется. В случае если все таки в качестве фона необходимо использовать картинку, то необходимо указать адрес файла заключить его в скобки и перед всей этой записью поставить url:

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Не смотря на то, что оно довольно маленькое, вся область абзаца застелилась им.

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Не смотря на то, что оно довольно маленькое, вся область абзаца застелилась им.

А вот оригинальный вид фонового изображения:

Вообще графический фон выводится поверх обычного фона, заданного с помощью свойства background-color. Но если фоновая картинка будет содержать прозрачные области, то цветной фон будет просвечивать сквозь них. Прозрачные фрагменты поддерживают форматы GIF и PNG.

Как вы могли заметить из примера, если фоновое изображение меньше, чем элемент страницы, для которого оно задано, то картинка повторяется по вертикали и горизонтали пока не замостит собой весь элемент. Параметры этого повторения задает следующий элемент.


Background-repeat — параметры повторения фонового изображения

Свойство background-repeat может принимать следующие значения:

no-repeat — фоновое изображение не будет повторяться. В этом случае часть фона элемента останется не заполненным им. Предыдущий пример, но уже со свойством background-repeat:no-repeat:

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Для него также применено правило background-repeat:no-repeat. Поэтому оно отображается только в левом верхнем углу.

В результате фоновая картинка отобразиться только в левом верхнем углу абзаца:

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Для него также применено правило background-repeat:no-repeat. Поэтому оно отображается только в левом верхнем углу.

repeat — фоновое изображение будет повторяться и по горизонтали и по вертикали. Это значение по умолчанию.

repeat-x — фоновое изображение будет повторяться только по горизонтали. Пример:

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Для него также применено правило background-repeat:repeat-x. Поэтому фоновая картинка заполнила только верхнюю часть абзаца.

repeat-y — фоновое изображение будет повторяться только по вертикали. Пример:

Для этого абзаца в качестве фона установлена картинка fonp.jpg. Для него также применено правило background-repeat:repeat-y. Поэтому фоновая картинка заполнила только левую часть абзаца.

Позиционирование фона с помощью background-position

Позицию фонового изображения относительно элемента web страницы для которого оно назначено можно указать с помощью свойства background-position:

Горизонтальная позиция может принимать следующие значения:

В качестве числовых значений могут использоваться как абсолютные (например px), так и относительные величины (например проценты) и они указывают местоположение фонового изображения в элементе по горизонтали.

  • left — в этом случает фоновая картинка прижимается к левому краю элемента (значение по умолчанию);
  • center — фоновое изображение располагается по центру элемента;
  • right — фон прижимается к правому краю элемента.

Вертикальная позиция может иметь следующие значения:

Числовое значение указывает местоположение фонового изображения по вертикали и задается абсолютными или относительными единицами измерения.

  • top — фоновая картинка прижимается к верхнему краю элемента (значение по умолчанию);
  • center — фоновое изображение располагается по центру;
  • bottom — фон прижимается к нижнему краю.

В случае использования ключевых слов для задания вертикальной и горизонтальной позиции, то порядок их следования не имеет значения. Если же, например, использовать пиксели или процентную запись, то сначало задается положение фонового рисунка по горизонтали, а затем, через пробел, положение по вертикали.

Например, для смещения фонового изображения для этого абзаца на 250 пикселей по горизонтали и на 10 пикселей по вертикали я использовал следующие CSS правила:

background-image:url (//webcodius.ru/example/logo.png);
background-repeat:no-repeat;
background-position:250px 10px;

Если для свойства background-position указана только одна позиция, то вторая будет будет приниматься равной center в случае использования ключевых слов и 50% в случае использования числовых значений.

То есть если, например, необходимо выровнять фоновое изображение по центру правого края элемента web страницы, то достаточно указать следующее css правило:

Вообще соотношение между ключевыми словами и процентной записью следующее:

  • top left = left top = 0% 0% (выравнивание по левому верхнему углу)
  • top = top center = center top = 50% 0% (вверху по центру)
  • right top = top right = 100% 0% (по правому верхнему углу)
  • left = left center = center left = 0% 50% (по левому краю и по центру)
  • center = center center = 50% 50% (по центру)
  • right = right center = center right = 100% 50% (по правому краю и по центру)
  • bottom left = left bottom = 0% 100% (по левому нижнему углу)
  • bottom = bottom center = center bottom = 50% 100% (внизу по центру)
  • bottom right = right bottom = 100% 100% (по правому нижнему углу)

На практике я советую использовать цифровые значения (будь это абсолютные или относительные величины), потому что первая цифра это всегда позиция по X, а вторая по Y. А ключевые слова хоть и кажутся более понятными, но могут стоять в различной последовательности и это может ввести в заблуждение.

Фиксация фона background-attachment

По умолчанию при прокрутке web страницы в окне браузера, вместе с ее содержимым прокручивается, если есть, и фоновое изображение. Свойство background-attachment позволяет влиять на поведение фонового рисунка. Этот атрибут позволяет зафиксировать фон и запретить его прокрутку. Background-attachment может принимать следующие значения:

scroll — значение по умолчанию, которое заставляет браузер прокручивать фон вместе с содержимым страницы. Значение fixed фиксирует фон на месте, и он не будет прокручиваться.

Обычно фиксируют фоновый рисунок заданный для все веб страницы, а для отдельных элементов оставляют прокручивающийся фон.

Сборное правило background

Все пять рассмотренных выше правил могут быть объединены в одно сборное правило background. Значения этих пяти правил могут использоваться в любом порядке, так как они уникальны, и разделяются пробелами. А все, что вы не укажите браузер возьмет значения по умолчанию.

Например, для текущего абзаца я установил фоновое изображение в виде облака, сделал его не повторяющимся и указал расположение по центру элемента. Для этого я использовал следующее CSS правило:

background: url (//webcodius.ru/example/logo.png) 50% no-repeat;

А, например, для задания заливки цветом можно использовать одно из двух возможных CSS правил:

Больше рассказывать о настройка фона с помощью правил CSS нечего. Не забудьте подписаться на обновления блога, чтобы не пропустить выход новых статей! До новых встреч!

Илон Маск рекомендует:  Запуск программы
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL