10 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать прозрачные блоки

CSS прозрачность – просто о важном

О том, что такое CSS, знают практически все, кто тем или иным образом причастен к созданию сайтов. Термин « CSS прозрачность » (или css opacity ) тоже на слуху. Чаще всего эта методика используется для решения дизайнерских задач (посредством верстки), улучшения юзабилити ресурса.

Что можно сделать при помощи данной технологии?


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Дополнение

    Еще один важный вопрос прозрачность background в CSS. Иными словами, это создание полупрозрачного цветного фона. Его можно задать следующим образом:

    Таким образом, в работе с прозрачностью в CSS все достаточно просто и логично.

    Надеемся, что данная статья оказалась для Вас действительно полезной.

    Прозрачность элементов CSS

    В CSS есть три способа изменить прозрачность элемента:
    с помощью свойства opacity ,
    с помощью функции rgba() ,
    с помощью функции hsla() .

    1. Свойство opacity

    Свойство opacity позволяет сделать любой элемент веб-страницы частично или полностью прозрачным. Данное свойство изменяет прозрачность элементов, для которых установлено фоновое изображение (картинка) или задан фон с помощью цвета или градиента. Если элемент, для которого применено свойство opacity , содержит внутри себя другие элементы, то они также изменят свою прозрачность.
    Свойство opacity принимает значения в диапазоне от 0 (полностью прозрачный) до 1 (непрозрачный), например:

    Рис. 1. Прозрачность элементов с помощью opacity

    2. Функция rgba()

    Цветовая модель RGBA создает цветовой оттенок путем смешивания в необходимых пропорциях красного (Red), зеленого (Green) и синего (Blue) цветов, а альфа-канал (Alpha) отвечает за степень прозрачности цвета. В отличие от свойства opacity , для блока, содержащего другие элементы, функция rgba() изменит прозрачность только блока.

    3. Функция hsla()

    Функция hsla() , параметры которой означают тон (Hue), насыщенность (Saturation), яркость (Lightness) и альфа-канал (Alpha), также позволяет задать полупрозрачный цвет.

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

    0/360° — красный цвет
    60° — желтый цвет
    120° — зеленый цвет
    180° — голубой цвет
    240° — синий цвет
    270° — фиолетовый цвет
    300° — пурпурный цвет .

    Чтобы получить черный цвет, нужно присвоить показателям тона, насыщенности и яркости нулевое значение — hsla(0, 0%, 0%, 1) . Белый цвет получается при 100%-ном значении яркости hsla(0, 0%, 100%, 1) , а серый цвет — при нулевом значении насыщенности hsla(0, 0%, 50%, 1) .

    Рис. 4. Цветовая модель HSL

    Блог Vaden Pro

    Способы создания прозрачных фонов

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

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

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

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

    CSS свойство Opacity

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

    В результате мы получили полупрозрачный блок:

    1. Opacity принимает значения из диапазона: 0 (полная прозрачность) – 1 (непрозрачность).
    2. Кросс-браузерность. В IE до седьмой версии включительно Opacity не поддерживается. Добиться одинакового отображения элемента поможет следующая строчка:

    Стоит принимать во внимание то, что свойство filter отсутствует в html спецификациях, изменяет значения от 1 до 100 и может применяться только к элементам:

    • с абсолютным позиционированием (position: absolute)
    • с фиксированным линейным размером (height или width).
  • Степень прозрачности наследуется дочерними элементами, при чем дочернему элементу можно увеличить прозрачность, но сделать меньше – нельзя. Т. е. на полупрозрачном фоне НЕ ПРОЗРАЧНОГО текста не сделать.
  • Для лучшего понимания материала последнего пункта, в предыдущем примере зададим тексту белый цвет

    и рассмотрим его под микроскопом:

    Как видим, контент нашего блока (текст) тоже стал полупрозрачным. Но что делать, если на практике прозрачность содержимого вас не интересует, а интересует лишь прозрачность фона? В таком случае, переходим к следующему пункту.

    Использование PNG -картинки

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

      Создаем в Photoshop, однотонную полупрозрачную картинку (назовем ее transparent) и сохраняем в формате png.

    Используем ее в качестве бэкграунда:

    В результате мы получили блок с прозрачным фоном и непрозрачным содержимым:

    1. В отличии от свойства opacity прозрачность задается только для фона
    2. Кросс-браузерность. Работает почти во всех браузерах, и это плюс. Но прозрачность PNG не поддерживается в IE6. Если вы оптимизируете свой сайт под такую древность – придется применять другие методы или скрипты.
    3. При отключении отображения картинок, ваш фон пропадет (учтите этот момент при оптимизации отображения на мобильных устройствах, ведь безлимитный интернет не всегда есть под рукою).
    4. Для изменения цвета и/или степени прозрачности вам нужно создать новую картинку и перезалить ее на серв.

    Формат системы RGBA

    Одним из самых современных методов изменения транспарантности фона является применение системы RGBA.

    RGBA – система представления цвета при помощи трех стандартных каналов RGB (красный, зеленый, синий), и четвертого, так называемого Alpha-канала, характеризующего степень прозрачности.

    В уже известном нам примере, заменим содержимое в CSS файле на следующее:

    1. В отличии от свойства opacity прозрачность задается только фону
    2. В отличии от метода PNG картинки, для изменения цвета или степени транспарентности нам нужно просто поменять значения rgba.
    3. Кросс-браузерность. Работает во всех современных браузерах (начиная с IE9, Op10, Fx3,Sf3.2).Для более старых браузеров придется либо пожертвовать прозрачностью, либо применять opacity, png методы.

    Клетчатые изображения, или с уважением к истории

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

    В результате применения такой картинки в качестве background получали псевдо-прозрачный фон.

    1. При просмотре текста на таком фоне могут быстро уставать глаза (особенно давит рябь при прокрутке).
    2. В остальном особенности применения аналогичны с методом «PNG -картинки».

    Подытожим?

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

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

    Источники:

    https://www.internet-technologies.ru/articles/css-prozrachnost-prosto-o-vazhnom.html
    https://html5book.ru/transparency
    https://vaden-pro.ru/blog/css/prozrachnyy-fon-background-css

    голоса
    Рейтинг статьи
    Читать еще:  Как сделать крышу из металлопрофиля своими руками
    Ссылка на основную публикацию
    Статьи c упоминанием слов:

    Для любых предложений по сайту: [email protected]