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

Грамотное использование CSS3  •  47


          недоСтатки уСловных комментариев
            Хотя надежность, с которой условные комментарии отфильтровывают данные для IE,
            не может не восхищать, у загрузки особых таблиц стилей для IE есть свои недостатки:
            •   дополнительные HTTP-запросы. Каждая дополнительная таблица стилей — это еще
               один ресурс, который браузер должен получить с сервера, а подобные запросы всегда
               замедляют загрузку страниц;
            •   правила для одного объекта могут находиться в двух разных документах или даже
               больше. Это увеличивает время отслеживания и отладки проблем, связанных с объ-
               ектом, и значительно затрудняет процесс, поскольку не всегда удается сразу вспомнить,
               что на объект могут ссылаться правила и в какой-то другой таблице стилей. Кроме
               того, когда вы редактируете какие-то правила в основной таблице стилей, очень
               легко забыть о необходимости соответствующим образом скорректировать правила
               и в таблицах стилей для IE;
            •   блокировка параллельной загрузки в IE 8. Наличие условного комментария в коде
               HTML приводит к тому, что в IE 8 загрузка прочих ресурсов страницы блокируется
               до тех пор, пока не завершится загрузка основного файла CSS. Не важно, для какой
               версии IE предназначен условный комментарий, и не важно, обслуживает он CSS
               или нет, — в IE 8 эта ошибка возникает всегда. И ее нельзя назвать незначительной
               помехой — время загрузки страниц может очень сильно увеличиться. Единственный
               способ избавиться от этой проблемы — добавить пустой условный комментарий над
               основным файлом CSS или использовать условные комментарии вокруг тега html,
               а не где-то еще. О втором решении мы еще раз поговорим через мгновение. Более
               подробное описание этой ошибки вы найдете на веб-сайте http://www.phpied.com/
               conditional-comments-block-downloads.



          Как спрятать часть кода от IE
          С помощью условных комментариев можно не только загрузить дополнительные
          данные для IE, но и скрыть от него определенный код. Это называется downlevel-
          revealed conditional comments (условные комментарии с выявлением на нижнем
          уровне) — не самое описательное имя. Синтаксис таков:
          <!--[if !IE]>-->
          <link rel="stylesheet" href="not_ie.css" type="text/css">
          <!--<![endif]-->
          Восклицательный знак перед символами IE сообщает всем версиям браузера IE, что
          они не должны выполнять никакой последующий код до тех пор, пока не встретится
          выражение <![endif], обозначающее конец условного комментария.
          На этот раз все браузеры, отличные от IE, увидят код HTML между условными
          комментариями, так как начальный и конечный условные комментарии в действи-
          тельности представляют собой автономные регулярные комментарии HTML. Вот
          как воспринимает предыдущий код браузер, отличный от IE:


                                                        www.trk.kg
   42   43   44   45   46   47   48   49   50   51   52