Как сделать цвет прозрачным в css

Установка цвета в CSS

Различным объектам на странице часто нужно указать цвет. Это можно сделать способами, которые рассмотрены в данной теме. Также мы рассмотрим, как установть в CSS прозрачный цвет элемента.

Название цвета

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

Чтобы найти таблицу веб-цветов, достаточно в любом поисковике набрать: веб-цвета.

Система RGB

  • сначала интенсивность красного цвета
  • потом интенсивность зелёного
  • потом интенсивность синего

Каждое число может иметь значение от 0 до 255. 0 — это минимальная интенсивность, а 255 — максимальная.

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

RGBA — это такой же способ установки цвета, что и RGB. Но у него есть ещё одно число — альфа канал. Это степень прозрачности. Он позволяет установить в CSS порзрачный цвет, то есть сделать элемент прозрачным. При этом через элемент можно видеть фон блока или другой элемент, который оказался под текущим элементом при позиционировании. Прозрачность может иметь значения от 0 до 1. При 1 элемент является непрозрачным. При 0 элемент является полностью прозрачным, то есть, его не видно. Любое число между этими значениями делает элемент прозрачным. Для установки цвета в CSS свойстве пишется слово rgba, затем в скобках через запятую указываются цвета и прозрачность. Чтобы сделать текст таким же цветом, но прозрачным, стиль нужно установить так:

Код в шестнадцатиричной системе

  • первые два знака устанавливают интенсивность красного цвета
  • вторые два знака устанавливают интенсивность зелёного
  • третьи два знака устанавливают интенсивность синего

Перед числом ставится знак #. Чтобы устаносить такой же цвет текста, стиль нужно указать так:

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

В коде цвета буквы могут быть как большими, так и маленькими.

Система HSL

При установке цвета в системе HSL, указываются три параметра — оттенок, насыщенность и осветление. Оттенок определяется на основе цветового кгруга. Он указывается в градусах от 0 до 360. 0 градусов соответствует самому верху круга. При этом, никаких знаков ставить не нужно, указывается просто число.

цветовой круг

Насыщенность определяет яркость цвета. Она указывается в процентах от 0 до 100.

Осветление может сделать цвет более светлым или более тёмным. Указывается также в процентах. Для установки цвета пишется слово hsl, затем в скобках перечисляются параметры.

Чтобы задать тексту тот же цвет, нужно указать ему следующий стиль:

HSLA — это способ установки цвета, при котором так же, как и при RGBA, есть альфа канал, устанавливающий прозрачный цвет элемента. Прозрачность также принимает значения от 0 до 1. Для установки цвета пишется слово hsla, затем в скобках указываются параметры и прозрачность. Чтобы сделать текст таким же цветом, но при этом прозрачным, ему нужно установить такой стиль:

Подбор цвета

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

Цвета в CSS. Прозрачный цвет

Для создания эффекта прозрачности в CSS используется свойство opacity.

Браузер IE8 и более ранние его версии поддерживают альтернативное свойство — filter:alpha(opacity=x) , где « x » может принимать значение от до 100 , чем меньше значение, тем прозрачнее будет элемент.

Все остальные браузеры поддерживают стандартное CSS свойство opacity , которое может принимать в качестве значения числа от 0.0 до 1.0 , чем меньше значение, тем прозрачнее будет элемент:

CSS прозрачность в формате RGBA

Формат для записи цвета RGBA, является более современной альтернативой для свойства opacity. R (red), G (green), B(blue) – значит : красный, зеленый, синий. Последняя буква A – означает альфа-канал, который и задает прозрачность. RGBA в отличии от Opacity не влияет на дочерние элементы.

Теперь давайте рассмотрим наш пример с использованием RGBA. Заменим эти строчки в стилях.

background: ##027ав4; /* Цвет фона */
opacity: 0.3; /* значение полупрозрачности фона */

на следующую одну строку

background: rgba(2, 127, 212, 0.3);

Как вы видите значение прозрачности 0.3 совпадает у обоих методов.

Цветовые значения, разделённые пробелами

Техническая сторона вопроса: задаем прозрачность фона

Одним из самых важных в верстке (и поэтому распространенных) является вопрос о том, как задать прозрачность фона в CSS. Ничего сложного здесь нет.

Код элемента, с которым ведется работа, должен выглядеть следующим образом (в скобках указаны варианты, которые срабатывают в разных браузерах):

При этом надо помнить, что заданная элементу прозрачность впоследствии наследуется дочерними элементами. То есть, если внутри фона есть картинка, текст или что-то еще – оно автоматически изменит степень прозрачности. Это не всегда допустимо.

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

Видоизменяем код на такой:

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

Техническая сторона вопроса: задаем прозрачность блока

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

Если же нужно, чтобы дочерний блок не наследовал прозрачность родительского – все обстоит сложнее! Решить данный вопрос можно следующим образом:

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

Как задается прозрачность CSS: формальности

За техническую сторону создания этого эффекта отвечает CSS свойство opacity (примечательно, что в переводе на русский язык это слово и означает « прозрачность »).

Данное свойство характеризуется следующими признаками:

  • значение задается в цифровом выражении (от 0 до 10; чем больше число – тем меньшей будет прозрачность объекта);
  • применяется ко всем элементам, имеющимся на странице (то есть можно задать при помощи CSS прозрачность блока или текста);
  • не наследуется.

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

Прозрачность в CSS

Значения

В качестве значения выступает число из диапазона . Значение 0 соответствует полной прозрачности элемента, 1, наоборот — его непрозрачности. Дробные числа вида 0.6 устанавливают полупрозрачность. Допускается писать числа без нуля впереди, вида opacity: .6 .

Песочница

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

Ключевое слово currentColor

  • border-color
  • text-decoration-color
  • outline-color
  • box-shadow

Система HSL

При установке цвета в системе HSL, указываются три параметра — оттенок, насыщенность и осветление. Оттенок определяется на основе цветового кгруга. Он указывается в градусах от 0 до 360. 0 градусов соответствует самому верху круга. При этом, никаких знаков ставить не нужно, указывается просто число.

Насыщенность определяет яркость цвета. Она указывается в процентах от 0 до 100.

Осветление может сделать цвет более светлым или более тёмным. Указывается также в процентах. Для установки цвета пишется слово hsl, затем в скобках перечисляются параметры.

Чтобы задать тексту тот же цвет, нужно указать ему следующий стиль:

Прозрачность при наведении

Псевдо-класс :hover позволяет изменять внешний вид элементов при наведении на них курсора мыши. Мы воспользуемся этой возможностью, чтобы изображение при наведении мыши теряло свою прозрачность:

Код в шестнадцатиричной системе

  • первые два знака устанавливают интенсивность красного цвета
  • вторые два знака устанавливают интенсивность зелёного
  • третьи два знака устанавливают интенсивность синего

Перед числом ставится знак #. Чтобы устаносить такой же цвет текста, стиль нужно указать так:

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

В коде цвета буквы могут быть как большими, так и маленькими.

Прозрачный фон (background)

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

Как задать прозрачность?

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

  • Свойство opacity .
  • Использование PNG -картинки
  • Формат системы RGBA
  • Ну, и наконец, древность или клетчатые изображения.

CSS свойство Opacity

Применение стилевого CSS свойства оpacity позволяет задать прозрачность того элемента, к которому применяется. Значения, которые можно использовать в качестве аргумента изменяются в пределах от 0 до 1. Рассмотрим пример.

Как в CSS сделать прозрачность в HEX формате?

Чтобы добавить прозрачность в HEX-формат, нужно добавить несколько дополнительных символов, которые будут означать альфа-канал (прозрачность).

Прозрачность для цвета задается в процентах (от 0 до 100). Чтобы добавить прозрачность в HEX-формат — нужно необходимое значение прозрачности также конвертировать в шестнадцатеричное значение.

Для удобства, можно подсмотреть в табличку приведенную ниже:

Конструкция цвета в CSS обычно выглядит так:

Обе записи означают один и тот же цвет — белый.

Основные браузеры (такие как Chrome) начали поддерживать альфа-канал (прозрачность) в hex цветах примерно с 2016 года (с разным уровнем стабильности). Чтобы добавить альфа канал в HEX значение — нужно добавить необходимую прозрачность в шестнадцатеричном формате в самый конец записи из шести символов.

Возьмем красный цвет и сделаем его полупрозрачным:

Таким образом, мы берем HEX-цвет и добавляем ему прозрачность, добавляя альфа канал в конец записи.

Конструкцию можно описать как RRGGBBAA.

А что же с HEX-цветом с записью цвета тремя символами? Примерно тоже самое, но в конец добавляется лишь один символ:

Конструкцию можно описать как RGBA.

Корректность работы цвета можно непосредственно в браузере (задав css-атрибуту нужный цвет). На скриншоте ниже видно, что Chrome обозначает hex-цвет с прозрачностью (альфа-каналом) отдельной иконкой.

Используя альфа-канал в HEX — убедитесь, что все браузеры, в которых ваш сайт/приложение должно работать поддерживают его.

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

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