Как реализовать перекрытие изображений в CSS
От автора: очень популярная в веб-дизайне в настоящее время вещь — это перекрывающиеся изображения. Когда вам, как разработчику, передается проект, есть несколько способов реализовать это — как и почти всегда в CSS.
Один из способов, который вы могли бы использовать — это абсолютно позиционировать один элемент с более низким z-индексом, чтобы другое изображение располагалось сверху, настроить ширину каждого изображения, чтобы мы могли видеть их оба, и это будет работать, верно?
Нуууу, когда вам понадобится текст или любой другой контент после изображений, вы столкнетесь с проблемой. Если элемент с абсолютным позиционированием выше статического (верхнего) изображения, следующий контент будет перекрывать изображения. Это связано с высотой изображения с абсолютным позиционированием, оно не распознается, поскольку находится вне потока документов (нормальное поведение для элемента с абсолютным позиционированием). Чтобы обойти это, вы можете начать экспериментировать с произвольной высотой изображений, и тогда компонент станет очень хрупким, ограниченным и не стабильным.
Я не рекомендую это. Пример того, о чем я говорю, здесь:
Хорошая новость: есть гораздо лучший способ, и не пытайтесь сделать это первым способом, если только вам не нравится головная боль.
Я опишу два надежных подхода к перекрывающимся изображениям.
Метод 1: CSS Grid
Прежде чем я услышу ворчание о необходимости поддержки IE и поэтому вы не можете использовать CSS Grid, я говорю, что вы легко можете использовать CSS Grid и запасной вариант для IE. Я покажу вам, как его создать в последнем разделе.
Одна из моих любимых вещей в CSS Grid (помимо единиц fr или свойства min-max) — это возможность перекрывать изображения, изменяя z-индексы, не извлекая ничего из обычного потока документов!
Сначала мы проанализируем этот компонент. Несколько вещей, на которые стоит обратить внимание:
Компонент будет работать независимо от высоты верхнего или нижнего изображения. (Это следует учитывать, когда у клиентов есть возможность загрузить любое изображение через CMS)
Верхнее изображение всегда будет слегка смещено вниз и будет выровнено по левому краю контейнера.
Наложить изображение
С помощью функции «Наложить изображение» можно совмещать несколько изображений на одном слое и использовать выражения для расширенной настройки наложения каналов.
О функции «Наложить изображение»
С помощью функции «Наложить изображение» можно наложить слой исходного изображения на слой целевого изображения. Совмещенные изображения образуют один слой. Для совмещения слоев можно воспользоваться выражениями для настройки каналов и режимами наложения.
Исходное изображение можно автоматически масштабировать относительно целевого изображения по горизонтали, по вертикали или в обоих направлениях. Таким образом, вам не придется в первую очередь заниматься совмещением размеров изображений.

Для наложения одного изображения на другое выполните приведенные далее действия.
- Откройте целевое изображение.
- На панели Слои выберите слой, который вы хотите наложить на исходное изображение.
- В меню Фильтры выберите пункт Наложить изображение .
- Нажмите Загрузить изображение , перейдите в нужную папку и выберите исходное изображение, которое необходимо импортировать. Если изображение, которое вы хотите использовать, представляет собой отдельный слой документа, можно нажать и перетащить его в диалоговое окно.
- (Необязательно) Чтобы активировать функцию наложения каналов, установите флажок Уравнения .
- (Необязательно) Установите уровень параметра Непрозрачность , чтобы регулировать прозрачность импортированного изображения.
- Выберите параметр Режим наложения , чтобы изменять степень наложения цветов исходного изображения на целевое изображение. Выберите этот вариант во всплывающем меню.
- (Необязательно) Снимите флажок По размеру окна по горизонтали , чтобы сохранить исходную ширину импортированных изображений. Если флажок для этого параметра установлен, изображение растягивается или сжимается относительно основного изображения. Снимите флажок По размеру окна по вертикали , чтобы сохранить исходную высоту.
- Нажмите Применить .
Чтобы использовать выражения для настройки каналов, выполните приведенные далее действия.
- Откройте диалоговое окно Наложить изображение и загрузите изображение или выберите параметр Использовать текущий слой как источник , чтобы наложить еще один слой этого изображения.
- Чтобы активировать функцию наложения каналов, установите флажок «Уравнения».
- Выберите цветовое пространство для наложения во всплывающем меню Цветовое пространство с уравнениями .
- Воспользуйтесь имеющимися выражениями для наложения информации каналов. Вот некоторые из этих выражений.
- Используйте выражение D + канал , чтобы указать канал конечного изображения (исходный слой). Например, DB означает конечный синий канал.
- Используйте выражение S + канал , чтобы указать канал исходного изображения (загруженное изображение). Например, SR означает исходный красный канал.
- Используйте знаки «+», «–», «*» и «/» для сложения, вычитания, умножения и деления соответственно. Например, используйте выражение SR / SG * SB , чтобы разделить исходный красный на исходный зеленый , а затем умножить на исходный синий .
ТАКЖЕ СМ.:
Наложить картинки по вверх другой с помощью CSS

И здесь есть отличный выход. это сделать наложение картинки на другую, как пример вписать иконку лупа, что изначально понятно. что можно посмотреть в полном обзоре картинку. И все это можно сделать с помощью CSS, где также много еще зависит от тематике, если игровая, то можно при наведение клика, поставить мишень, что будет появляться.
Есть много вариантов, где можно наложить картинку на изображение, что бы подсказывала ту или иную функцию. Здесь рассмотрим два способа, где первый будет отвечать за темно прозрачную штору при наведение, вторая идет под иконку, как понимаете она должна в PNG или GIF формате, чтоб корректно смотрелось.
Сделать на CSS наложения фона с иконкой на изображения
.zornet_redsan <
border:1px solid rgba(204, 198, 198, 0.97);
padding:5px;
height:182px;
width:195px;
margin:10px;
>
.sarumib <
background:rgba(0, 0, 0, .75);
text-align:center;
opacity:0;
width:100%;height:100%;
-webkit-transition: all 0.3s cubic-bezier(0.42, 0, 0.49, 0.96);
-moz-transition: all 0.3s cubic-bezier(0.42, 0, 0.49, 0.96);
-o-transition: all 0.3s cubic-bezier(0.42, 0, 0.49, 0.94);
-ms-transition: all 0.3s cubic-bezier(0.42, 0, 0.54, 0.97);
transition: all 0.3s cubic-bezier(0.42, 0, 0.46, 0.92);
>
.zornet_redsan:hover <
border:1px solid rgba(90, 88, 88, 0.95);
border-radius:5px;
>
.zornet_redsan:hover .sarumib <
opacity:1;
>
.dertunem <
position:relative;
top:71px;
>
Переходим на аналочичную функцию, но здесь будет работа при наведение и появление кнопки, в нашем случай, светло зеленая лупа в правом вверхнем углу.
Всплывающая кнопка зума при наведении на картинку
Как можно заметить, что вся работа в блоке происходит при помощи span, где при наведение срабатывает появление, что можно поставить ссылку на переход на другую страницу или интернет ресурс.
Не забываем, что когда высоту и ширину выставляем, то она должна соответствовать кнопки, так чтоб не получилось, что иконка больше снимка была, здесь должно быть соответствие изображению.
Создание наложения «Картинка в картинке» — управляемое редактирование
Этот процесс управляемого редактирования научит создавать наложение «Картинка в картинке». Можно поместить графический объект или видео поверх фонового видео.
Чтобы создать наложение «Картинка в картинке» с помощью управляемого редактирования, выполните следующие действия.
Этот процесс управляемого редактирования демонстрирует добавление графического объекта или видео поверх фонового видео. Нажимайте кнопки «Назад» и «Далее», чтобы перейти к предыдущему или следующему шагу управляемого редактирования.

Нажмите «Добавить медиаданные», чтобы импортировать видеоклип, в который нужно добавить музыкальное сопровождение. Пропустите этот шаг, если видеоклип уже добавлен на шкалу времени.
