#html #css #css3 #вёрстка #svg
Есть такой блок с картинкой, градиентом и окошком "сквозь" этот градиент (слой маска в psd) + текст и кнопка внутри окошка: Вопрос: Как реализовать подобное в адаптивной верстке, маской SVG или любым другим способом? Пока нет идей. С маской, тогда с адаптивностью проблемы. Код: .img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; } .slider-right { width: 300px; height: 300px; border: 2px solid #fff; position: relative; } .slider-right .btn { position: absolute; left: 0; bottom: 20px; right: 0; margin: 0 auto; display: block; max-width: 150px; } .slider .container { position: relative; z-index: 3; height: 100%; } .slider .container .row { height: 100%; } .slider { color: #fff; height: 500px; } .slider-inner { position: relative; width: 100%; background: rgba(21,91,50,1); background: -moz-linear-gradient(left, rgba(21,91,50,1) 0%, rgba(21,91,50,0) 100%); background: -webkit-gradient(left top, right top, color-stop(0%, rgba(21,91,50,1)), color-stop(100%, rgba(21,91,50,0))); background: -webkit-linear-gradient(left, rgba(21,91,50,1) 0%, rgba(21,91,50,0) 100%); background: -o-linear-gradient(left, rgba(21,91,50,1) 0%, rgba(21,91,50,0) 100%); background: -ms-linear-gradient(left, rgba(21,91,50,1) 0%, rgba(21,91,50,0) 100%); background: linear-gradient(to right, rgba(21,91,50,1) 0%, rgba(21,91,50,0) 100%); }
Ответы
Ответ 1
SVG маска, на которой нарисован белый квадрат с белой же тенью - как раз то, что Вы ищитеОтвет 2
Решение SVG + Mask - Filter В этом решении для оформления фона не используются фильтры svg. Можно использовать свойства svg маски, как для окна, так и для фона. Комментарии см. в коде. Кнопка, изображение находятся внутри SVG, поэтому вёрстка адаптивна и не сломается при любом размере дисплея гаджета. #rect1 { fill:#EA0000; } g:hover > #rect1 { fill:green; } g:hover > #crc1 { fill:#EA0000; } g:hover { cursor:pointer; } Маска + радиальный градиент К маске добавляется градиент, что обеспечивает неравномерность прозрачности фона.#rect1 { fill:#EA0000; } g:hover > #rect1 { fill:green; } g:hover > #crc1 { fill:#EA0000; } g:hover { cursor:pointer; } Неравномерная окраска фона в любой цвет Смотрите комментарии в коде: #rect1 { fill:#EA0000; } g:hover > #rect1 { fill:green; } g:hover > #crc1 { fill:#EA0000; } g:hover { cursor:pointer; }
Комментариев нет:
Отправить комментарий