Сегодня мы хотим показать вам, как создать простой эффект размытия для текстовых элементов. Идея заключается в том, что как только мы наводим курсор на набор текстовых блоков, они будут становиться размытыми и уменьшенными. Кроме элемента, на который непосредственно будет наведен курсор, он, наоборот, увеличится в масштабе. Это позволит создать своего рода эффект «фокуса», при котором всё внимание концентрируется на выделенном объекте.
Для создания эффектов мы будем использовать свойство CSS3 transitions, а также немного jQuery. Так как CSS3 transitions пока еще не поддерживаются всеми браузерами, демо-пример лучше всего смотреть в Safari или Chrome (чтобы увидеть гладкие переходы).
Итак, давайте начнем!
HTML-разметка
Структура будет представлять собой секцию с несколькими статьямив ней.Каждый пункт будет иметьзаголовок иабзац:
Теперь, давайте зададим стили для каждой статьи. Мы сделаем их плавающими (float:left) и добавим две тени (box-shadow), из которых белая, будет иметь большое расстояние распространения. Кроме того, мы добавим transition для трех свойств: opacity, transform (мы хотим увеличить её), и box-shadow:
Для браузеров Webkit мы также добавим -webkit-backface-visibility: hidden, чтобы избежать коротких миганий. (Хотя Вы можете удалить это, если вы предпочитаете видеть четкий текст).
Класс blur будет применяться ко всем элементам, расположенным на одном уровне с пунктом, над которым находится курсор мыши. Мы также хотим уменьшить их и добавим большие белые тени, чтобы сделать блоки размытыми. Также уменьшим прозрачность немного:
Для того, чтобы текстовые элементы выглядели размыто, мы сделаем цвет прозрачным, установив значение прозначности в RGBA равное 0, и мы увеличим размытие text-shadow:
Теперь активный пункт будет слегка увеличен. Мы также установим большое значение z-index, чтобы гарантировать что этот пункт будет всегда поверх остальных, когда мы наводим курсор мыши на него: