Что такое background image

CSS и множественный фон

CSS-свойство background — это одно из самых часто используемых свойств. Но сообщество веб-разработчиков пока не слишком хорошо осведомлено о возможностях, которые даёт использование множественного фона. Здесь я собираюсь серьёзно поговорить о том, что может дать применение множественного фона, и о том, как использовать стандартные механизмы CSS на полную мощность.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Если вы не знакомы с CSS-свойством background — хорошо будет, если вы, перед чтением материала, заглянете на эту страницу документации MDN, посвящённую данному свойству.

Введение

CSS-свойство background — это сокращённое свойство, которое позволяет настраивать следующие обычные свойства элементов:

Рассмотрим следующий пример:

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Путь к изображению, его позиция и его размер

Позиция фонового изображения

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Конструкции вида top left и left top равнозначны

Размер фонового изображения

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Сначала идёт ширина, а потом — высота

Тут, кстати, нелишним будет упомянуть о том, что в спецификации CSS по этому поводу сказано следующее: «Если указано лишь одно значение, то предполагается, что второе значение — это auto». Но этот механизм в браузерах не реализован, хотя в будущем ситуация может измениться. Благодарю Илью Стрельцына за то, что привлёк моё внимание к этой детали.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Одно значение задаёт и ширину, и высоту

Множественный фон

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Использование нескольких фоновых изображений

На вышеприведённом рисунке у элемента есть два слоя фоновых изображений. Каждое из этих изображений позиционировано по-своему. Это — простейший пример использования множественного фона. А теперь давайте рассмотрим более продвинутый пример.

Порядок наложения фоновых изображений друг на друга

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

Здесь у нас имеется изображение стола ( table.jpg ) и изображение тарелки ( konafa.svg ). Как вы думаете, какое из этих фоновых изображений будет выведено первым? Изображение стола или изображение тарелки?

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Элемент с двумя фоновыми изображениями

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Первый фон накладывается на второй

Как видите, фон, заданный первым, находится выше фона, заданного вторым.

Сплошные цвета

Предположим, нам, используя CSS-инструменты настройки фона элемента, нужно сформировать одноцветный фон. Как это сделать? Это, благодаря CSS-градиентам, совсем несложная задача. Дело в том, что если воспользоваться функцией linear-gradient с одинаковыми стоп-цветами, это приведёт к появлению сплошного цвета.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Фон, созданный с помощью linear-gradient и одинаковых стоп-цветов

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

Сценарии использования и практические примеры

▍Затемнение фонового изображения

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Затемнённое фоновое изображение

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

▍Рисование средствами CSS

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Давайте разберём это изображение и подумаем о том, какие градиенты нам понадобятся.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Пластиковая рамка дисплея, LCD-дисплей, отражение, скруглённые края корпуса, корпус

Обратите внимание на то, что когда ноутбук «разобран», гораздо легче разобраться в том, какие градиенты нужны для того чтобы его нарисовать с использованием техники применения нескольких фоновых изображений. Возможно, вы заметили то, что я использовал пару окружностей, играющих роль скруглённых углов корпуса ноутбука. Дело в том, что стандартного способа создания градиентов со скруглёнными углами не существует.

Теперь займёмся рисованием. Для начала определим каждый из градиентов в виде CSS-переменной и укажем размер соответствующих элементов. Мне нравится использовать CSS-переменные из-за того, что это может уменьшить сложность кода, делает код чище и облегчает его восприятие. После того, как градиенты описаны, можно переходить к их позиционированию.

Итак, градиенты мы описали и задали их размеры. Теперь поразмышляем над их позиционированием. Решение этой задачи облегчит схематичное изображение ноутбука, приведённое ниже.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Схематичное изображение ноутбука

Реализация отражения света от рамки дисплея ноутбука

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Отражение света от рамки дисплея ноутбука

LCD-дисплей

Дисплей ноутбука выровнен по центру оси X, а по оси Y он расположен со сдвигом в 6 пикселей от начала координат.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Рамка дисплея

Рамка находится ниже дисплея, она центрирована по оси X, по оси Y она расположена со смещением в 0px от начала координат.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Корпус ноутбука

А это — самый интересный элемент. Для начала, надо учесть то, что элемент, представляющий корпус ноутбука, является прямоугольником, и то, что корпус имеет скруглённые края. Это достигается благодаря использованию пары окружностей.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Готовый рисунок

Вот CodePen-проект, с которым вы можете поэкспериментировать.

▍Смешивание нескольких фонов

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Цветное изображение и вспомогательный слой чёрного цвета

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Пользуетесь ли вы множественными фонами в CSS?

Источник

Фон в CSS

Фон элемента HTML — это то, что появляется за текстом. Хотя CSS позволяет применять фон к элементу любого типа, он в основном используется для блочных элементов.

Фон применяется только к целевому элементу. Учитывая, что у большинства элементов HTML фон прозрачный, применение фона к будет выглядеть так, словно он применяется ко всем элементам.

background-color

Значение по умолчанию: transparent ; наследуется дочерними элементами: нет.

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

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

background-image

Поскольку простых цветов, как правило, недостаточно, CSS позволяет применять изображения в качестве фона элементов.

Для добавления фонового изображения требуется указать только его URL:

Поведение изображения (как оно повторяется, где расположено, какой у него размер) определяется другими свойствами фона. background-image задаёт только, какое изображение использовать.

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

Разница между и фоновыми изображениями

Элемент предназначен для изображений, которые являются частью содержимого, в то время как фоновые изображения в CSS чисто декоративные.

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

Градиенты

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

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

background-position

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

Для каждой координаты вы можете использовать:

Вы можете смешивать разные единицы координат:

background-repeat

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

Источник

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

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

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

background-color

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

background-image

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

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

background-repeat

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

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

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

background-attachment

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

background-position

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

gradient

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

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

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

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

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

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

Источник

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

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

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

Удобно при работе с маленькими картинками. Чтобы получить такой код, воспользуйтесь сервисами вроде https://snipp.ru/tools/base64-img. Там все очень просто: загружаете картинку и получаете готовый код для сайта. При таком использовании не производится дополнительное обращение к серверу за картинкой, что хорошо для скорости загрузки.

Вместо background-image можно использовать более общее свойство background с аргументом в виде изображения.

Для уменьшения количества обращений к серверу за картинками также рекомендуется использовать спрайты – объединенные в один файл картинки. При таком подходе при загрузке страницы произойдет только одно обращение к общему спрайту.

Для фона можно использовать большинство известных форматов: JPG, PNG, SVG, GIF-анимацию и другие.

Формат адреса изображения

Указание адреса картинки может быть абсолютным, как в первом случае, там и относительным, как во втором случае ниже.

Относительный адрес определяется относительно папки сайта, откуда загружается главный HTML документ.

Выравнивание изображения

background-size

Свойство background-size устанавливает размер изображения и может принимать значения:

background-origin или background-clip

Идентичные свойства с одинаковыми значениями. Данные свойства указывают, где устанавливается начальная точка вставки изображения. По умолчанию начальная точка находится сразу под границей элемента в верхнем левом углу. У background-origin и clip есть следующие значения:

Градиенты

Еще один вариант использования фона – указать браузеру создать градиент. Вот простой пример линейного градиента:

Здесь background: linear-gradient(to right, black, white) параметры означают, что градиент будет слева направо, от черного к белому цвету.

Источник

2.10. CSS-фон

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background image

Каждый блок html-элемента имеет фоновый слой, который может быть полностью прозрачным (по умолчанию) или заполнен цветом и/или одним или несколькими изображениями. CSS-свойства фона указывают, какой цвет background-color и изображения background-image использовать, а также их размер, расположение, способ укладки и т.д.

Фон не отображается у пустых элементов с нулевой высотой. Отрицательные значения свойства margin не влияют на фон элемента.

Свойства фона html-элементов

1. Базовый цвет: свойство background-color

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

Цвет фона обрезается в соответствии со значением background-clip самого нижнего слоя фонового изображения.

Свойство не наследуется.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 1. Свойство background-color для разных элементов

2. Источник изображения: свойство background-image

Свойство background-image устанавливает фоновое изображение (одно или несколько) элемента. Значение none считается слоем изображения, но ничего не рисует. Изображение, которое является пустым (нулевой ширины или нулевой высоты), которое не загружается или не может быть отображено (например, потому что оно не в поддерживаемом формате изображения) также считается слоем, но ничего не рисует.

Свойство не наследуется.

3. Укладка изображений: свойство background-repeat

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

Свойство не наследуется.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 2. Свойство background-repeat

4. Фиксация изображения: свойство background-attachment

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

Свойство не наследуется.

background-attachment
Значения:
scrollФоновое изображение прокручивается вместе с текстом и другим содержимым. Значение по умолчанию.
fixedПредотвращает перемещение, фиксирует фоновое изображение на заднем плане.
localФоновое изображение прокручивается вместе с содержимым элемента.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

5. Позиционирование изображений: свойство background-position

Если для элемента заданы фоновые изображения, свойство background-position указывает их начальное положение (после любого изменения размера) в соответствующей области расположения фона.

Свойство не наследуется.

Пара ключевых слов может быть переупорядочена, в то время как комбинация ключевого слова и длины или процента не может. Например, center left — допустимое значение, а 50% left — нет.

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 3. Свойство background-position

Можно задать фоновую картинку так, чтобы она располагалась только по низу блока:

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 4. Фоновое изображение по низу блока

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 5. Задание для блока нескольких фоновых изображений

6. Область рисования: свойство background-clip

Свойство background-clip определяет область рисования фона. Фон всегда рисуется под рамкой элемента, если таковая имеется.

Корневой элемент имеет другую область рисования фона, поэтому свойство background-clip на него не влияет.

Свойство не наследуется.

background-clip
Значения:
border-boxФон закрашивает область в пределах рамки элемента. Значение по умолчанию.
padding-boxФон закрашивает область в пределах внутренних полей элемента.
content-boxФон закрашивает только область содержимого.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 6. Свойство background-clip

7. Область расположения фона: свойство background-origin

Свойство background-origin указывает область расположения фона для элементов, которые выводятся на экране как единый блок (например, не абзацы текста).

Свойство не наследуется.

background-origin
Значения:
padding-boxФон позиционируется относительно верхних границ области внутренних полей элемента. Значение по умолчанию.
border-boxФон позиционируется относительно верхних границ рамки элемента.
content-boxФон позиционируется относительно верхних границ области содержимого элемента.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 7. Свойство background-origin

8. Размер изображений: свойство background-size

Свойство background-size устанавливает размер фоновых изображений.

Свойство не наследуется.

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 8. Свойство background-size

9. Краткая запись свойств фона: свойство background

10. Множественные фоны

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

Что такое background image. Смотреть фото Что такое background image. Смотреть картинку Что такое background image. Картинка про Что такое background image. Фото Что такое background imageРис. 9. Пример использования нескольких фоновых изображений

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *