Фильтры CSS в действие
Попробуем приминить фильтры CSS в нашем проекте. Пока что они не так широко используются на веб-пространстве, но в будущем возможно это измениться. Я думаю, лучший способ продемонстрировать все возможности фильтров лучше всего в некой галерее. Так что сегодня мы попробуем создать галерею с помощью CSS фильтров и CSS3 :not селектора.
Вот наши фильтры: grayscale , sepia , saturate , hue-rotate , opacity , invert , brightness , contrast , blur , drop-shadow Подробнее у них можно прочитать тут.
В нашей статье мы будем использовать только blur и grayscale фильтры для создания мини-галереи.
HTML
Очень понятная разметка галереи:
<ul class="gallery"> <li><img src="1.jpg"></li> ... <li><img src="6.jpg"></li> </ul>
CSS
Это один из немногих моментов, когда вы ну увидите кучу строк. Главная часть происходит в .gallery:hover li:not(:hover) селекторе, когда фильтры применяются ко всем элемент без наведения мыши.
.gallery{ list-style: none; margin: 50px auto; padding: 0; width: 642px; font-size: 0; /* fix inline-block spacing */ } .gallery li{ display: inline-block; *display: inline; zoom: 1; width: 200px; height: 150px; margin: 2px; border: 5px solid #fff; box-shadow: 0 2px 2px rgba(0,0,0,.1); transition: all .3s ease; } .gallery:hover li:not(:hover){ -webkit-filter: blur(2px) grayscale(1); opacity: .7; /* fallback */ }
Готово!
Надеемся, в будущем эта техника и фильтры будут более популярны, ведь с их помощью можно делать очень красивые вещи.
Рубрика: CSS