Читаем CSS3 для веб-дизайнеров полностью

Один из способов применять opacity, который нравится мне, – создавать простое и гибкое состояние: hover для графических ссылок, пользуясь изменением прозрачности для создания нескольких состояний из одного изображения. Прибавим к этому CSS-переход и получим прекрасное, яркое, легко поддерживаемое взаимодействие для графических ссылок на странице.

Посмотрим, как свойство opacity применяется в примере с Луной.

<p>Прозрачность на кликабельных картинках</p>

На рис. 3.16 показан футер сайта-примера, в котором – после некоторого юридического текста и шокирующего дисклеймера – расположились три логотипа, на них можно нажать.

Рис. 3.16. Футер сайта Вещи, оставленные на Луне

Воспользуемся свойством opacity не только для того, чтобы определить состояния :hover и :focus, но и чтобы задать начальный уровень прозрачности. CSS-переход сгладит и анимирует это изменение, чтобы довершить эффект.

<p>Разметка</p>

Как и в предыдущем примере с навигацией, разметка для логотипов в футере проста и семантична – ненумерованный список, состоящий из картинок-ссылок:

  • alt="SimpleBits logo" />
  • alt="RSS feed" />
  • alt="BitMan" />
  • <p>Прозрачность и эффективность картинки</p>

    Я создал иконки полностью белыми PNG-изображениями, зная, что затем применю свойство opacity, чтобы отрегулировать прозрачность на уровне CSS. Такой подход изменил то, как я в некоторых ситуациях думаю о графических объектах в веб-проектах.

    Вместо того чтобы сохранять полупрозрачные PNG, я сохраняю полностью непрозрачные версии (рис. 3.17), которые могу менять в браузере. Кроме того что такой подход экономит время, он также позволяет выставлять разные уровни прозрачности в состояниях :hover, :focus и :active, избавляя от необходимости создавать несколько наборов изображений.

    Рис. 3.17. PNG-файлы с логотипами – полностью белые

    <p>Оформление списка</p>

    Первые фрагменты оформления отцентрируют картинки в футере и поместят их горизонтально (рис. 3.18):

    Рис. 3.18. Белые PNG, отцентрированные в футере

    #footer-logos { 

    text-align: center;

    }

    #footer-logos li {

    display: inline;

    }

    Теперь выставим такие значения свойства opacity, которые затемнят иконки в их обычном состоянии и будут осветлять их в состояниях :hover и:focus.

    #footer-logos a img {

    opacity: 0.25;

    }

    #footer-logos a: hover img,

    #footer-logos a: focus img {

    opacity: 0.6;

    }

    Мы выставили картинкам непрозрачность в 25%; при наведении или получении фокуса непрозрачность поднимается до 60% (рис. 3.19). Крайне просто, не так ли? И для такого эффекта нужен лишь один набор картинок.

    Заметим, что свойство opacity не требует браузерного префикса и работает в Safari, Chrome, Firefox и Opera. IE8 и ниже не поддерживает opacity, но существует хакерское решение для тех, кто не прочь окунуться в дебри проприетарности.

    <p>opacity: хак для IE</p>

    К счастью, opacity поддерживается в Internet Explorer 9 Beta, но мы также можем сымитировать тот же результат в ранних версиях IE, воспользовавшись проприетарным свойством filter от Microsoft.

    Обычно я бы не стал предлагать использовать свойство filter, потому что (в отличие от свойств с браузерными префиксами) оно не входит ни в один предложенный стандарт. Также использование filter может повлечь за собой существенные проблемы производительности в зависимости от того, где и как часто оно используется. Это хак – но он решает проблему.

    При условии, что вышесказанное понятно, и выделяя это свойство в отдельный стилевой файл или иначе аккуратно комментируя его, filter можно воспринимать как приемлемый метод.

    Вот как он работает:

    #footer-logos a img { 

    border: none;

    opacity: 0.25;

    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=25)"; /* IE 8 hack */

    filter: alpha(opacity = 25);/* IE 5–7 hack */

    }

    #footer-logos a: hover img,

    #footer-logos a: focus img {

    opacity: 0.6;

    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* IE 8 hack */

    filter: alpha(opacity = 60);/* IE 5–7 hack */

    }

    Перейти на страницу:

    Все книги серии Актуальные книги для тех, кто создает сайты

    HTML5 для веб-дизайнеров
    HTML5 для веб-дизайнеров

    Джереми Кит обладает способностью писать легко и доступно о сложных вещах и сразу выделять те определенно важные моменты, которые имеют значение для дизайнеров-разработчиков. В книге «HTML5 для веб-дизайнеров» он рассказывает о современных тенденциях в области web-разработок.В HTML5 появилось много интересных тэгов, в том числе поддержка аудио– и видеофайлов. Теперь вам не надо тратить время на установку плагинов для проигрывания музыки или видео – просто воспользуйтесь одним из новых тегов.Автор убеждает, что можно использовать структурные элементы HTML5 прямо сейчас, например назначить стиль любому элементу, который вы захотите изобрести, или начать использовать доступные вам дополнительные уровни заголовков.Книга Джереми Кит – настоящая инструкция по использованию HTML5.

    Кит Джереми

    Зарубежная компьютерная, околокомпьютерная литература

    Похожие книги