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

все о сети

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

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

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

Введение

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

  • Фоновый клип
  • Цвет фона
  • Фоновое изображение
  • Происхождение фона
  • Фоновое положение
  • Повторение фона
  • Размер фона
  • Фоновая атака

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

Исходное положение фонового изображения — в левом верхнем углу элемента. Размер изображения составляет 50px * 50px. При определении свойств фона важно помнить порядок следования свойств, определяющих положение и размер фонового изображения.

Маршрут, местоположение и размер изображения.

На предыдущей диаграмме за значением свойства background position следует значение свойства background size. Если вы расположите эти значения в другом порядке, вы получите код CSS MISFIT. Например.

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

Свойство Background Origin используется для определения области фона, которая является исходным положением фонового изображения. Мне нравится гибкость положения фона. Вы можете расположить фон по-разному.

  • Ключевые слова (верх, право, низ, лево, центр).
  • Ценовой процент. Например, 50%.
  • Цена, определяющая расстояние. Пример: 20px 2.5rem.
  • Значение для отступа от края элемента. Например, 10px над остальными 20x.

Система координат.

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

ЧИТАТЬ ЕЩЁ:  20 лучших расширений Google Chrome для веб-дизайнеров

Стоит отметить, что цена верхнего левого угла такая же, как и верхнего левого угла. Браузеры достаточно умны, чтобы определить, какая часть этого значения относится к оси x, а какая — к оси y.

Верхний левый и верхний левый эквивалентны.

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

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

Сначала указывается ширина, затем высота.

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

Стоит упомянуть, что об этом говорится в спецификации CSS: «Если указано одно значение, второе считается автоматическим». Однако этот механизм не реализован в браузерах, но это может измениться в будущем. Спасибо Илье Стрельцыну за то, что обратил мое внимание на эту деталь.

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

Теперь, когда мы рассмотрели базовое использование свойства background, давайте обсудим, как работать с несколькими фонами.

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

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

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

На приведенной выше схеме элемент имеет два слоя фоновых изображений. Эти изображения размещаются в разных позициях. Это самый простой пример использования нескольких фонов. Теперь рассмотрим более сложный пример.

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

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

ЧИТАТЬ ЕЩЁ:  6 плагинов для Photoshop, которые сэкономят ваше время (и нервы)

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

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

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

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

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

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

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

Фон, созданный с помощью линейного градиента и того же стоп-цвета

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

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

Затемнение фона

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

Темное фоновое изображение

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

Цветные фоны

Проектирование с помощью CSS

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

Изображение ноутбука.

Проанализируйте это изображение и подумайте, какие градиенты вам нужны.

Пластиковая рамка экрана, ЖК-экран, отражения, закругленные края, чехол

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

ЧИТАТЬ ЕЩЁ:  Горячие клавиши в Adobe Photoshop

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

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

Принципиальная схема ноутбука

Отражение света от экрана ноутбука

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

Отражение света от рамки экрана ноутбука.

ЖК-дисплей.

Экран ноутбука выровнен по центру оси x, а ось y смещена на 6 пикселей от начала.

Экран ноутбука

Дисплейная коробка.

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

Дисплейная коробка

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

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

ПРИМЕЧАНИЕ

Окончательный план.

Это проект Codepen, с которым можно экспериментировать.

▍ Мультибэкинг.

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

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

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

Оцените статью