EndruAN
@EndruAN

Как сделать полупрозрачный блок с дырой в центре?

Добрый день. Подскажите как можно реализовать следующую задачу :
Пытаюсь реализовать на сайте- на адаптивной карте- на верхнем слое прозрачный блок с "дыркой по середине".
Т.е. что-бы по центру карту было видно нормально, а в остальных местах что-бы ее перекрывал полупрозрачный блок и на этом блоке поместить текстовую информацию. И что-бы это все дело было адаптивно. Карта сейчас у меня адаптивная. Как можно сделать так?
Если не понятно написал, вот примерно так хочу сделать 71cb5747d12b.jpg
  • Вопрос задан
  • 909 просмотров
Решения вопроса 1
agmegadeth
@agmegadeth
Веб-разработчик в дизайн студии
На самом деле не все тривиально. Нам нужно с одной стороны сохранить интерактивность карты, с другой сделать респонсивную полупрозрачную рамку.
Для сохранения интерактивности карты не подойдет использовать один элемент с широкой обводкой, т.к. события мыши будут активны на нем, а не на карте. Поставив этому элементу pointer-events: none, мы потерям возможность выделения текста и копирования контактной инфы, которая будет распологаться на этой рамке.

Вывод нужно сделать 4 элемента по одному на каждую сторону маски, чтобы центр был активным для карты, однако задача ослажняется респонсивом с прозрачной маской. С левым и правым краем все понятно: высота 100% и ширина допустим 200px, верхний и нижний край должны быть высотой допустим 200px а вот ширину надо вычислять скриптами, т.к. если поставим 100% то полупрозрачности наложатся и получится некрасиво. Ширину вычислисть скриптом по принципу: ширина = ширина.окна - 400px в нашем случае
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Используем box-shadow во избежание переполнения. Пример
Ответ написан
Вот так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы