Page 42 - Сила CSS3 Освой новейший стандарт
P. 42

42  •  Глава 1. Основная информация о CSS3

            Получив набор таких классов, вы можете с легкостью создать стили для всех классов
            и пребывать в уверенности, что каждое правило будет считываться только теми
            браузерами, которые поддерживают (или не поддерживают) соответствующий
            элемент CSS3 или HTML5. Следующие правила устанавливают разные фоновые
            цвета или изображения в зависимости от того, поддерживает браузер использование
            нескольких фоновых изображений или нет:
            #wrapper {
                background-color: #ccc;
                background-image: url(one.png), url(two.png),
                                  url(three.png);
            }
            .no-multiplebgs #wrapper {
                background-image: url(alternate.gif);
            }
            Первое правило видят все браузеры, вне зависимости от того, включено ли исполь-
            зование JavaScript и поддерживают ли они CSS3. Браузеры, в которых добавление
            нескольких фоновых изображений невозможно, отображают сплошной фоновый
            цвет, а остальные — три фоновых изображения. Следующее правило видят только
            браузеры, не поддерживающие несколько фоновых изображений, в которых ис-
            пользование JavaScript включено. Они считывают единственное альтернативное
            фоновое изображение и выводят его вместо трех отдельных, которые им недоступны.
            Таким образом, независимо от того, насколько хорошо браузеры поддерживают CSS
            и включено ли использование JavaScript, в обрамляющем блоке div каждый из них
            получает определенное фоновое изображение.

            Modernizr лучше всего справляется с задачей предоставления альтернативных
            стилей браузерам, не поддерживающим CSS3 (в противоположность эмулированию
            эффектов CSS3). Однако в определенных ситуациях этот сценарий можно применять
            и для имитации поведения или оформления CSS3. Например, вы желаете скруглить
                                            углы поля. Тогда для некоторых браузеров будет
               Настоящий код CSS для правил   достаточно свойства border-radius, а осталь-
               no-border-radius должен быть   ным придется предоставить фоновое изображе-
               сложнее, чем в представленном   ние скругленных углов:
               выше примере: позицию каждого   div {
               изображения угла необходимо       -moz-border-radius: 10px;
               указать отдельно и, возможно,       -webkit-border-radius: 10px;
               для нескольких элементов HTML.       border-radius: 10px;
               Я упростила CSS для того, чтобы   }
               в этом примере сфокусироваться   .no-border-radius div {
               на работе Modernizr.             background: url(corners.gif);
                                            }

            Modernizr может быть очень полезным помощником. Я рекомендую вам озна-
            комиться со статьей Фарука Атеса «Taking Advantage of HTML5 and CSS3 with
            Modernizr» (http://www.alistapart.com/articles/taking-advantage-of-html5-and-css3-


                                                        www.trk.kg
   37   38   39   40   41   42   43   44   45   46   47