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

162  •  Глава 4. Стилизация изображений и ссылок в зависимости от их типа

            Перейдите к открывающемуся тегу html на нашей странице и замените его следу-
            ющим кодом HTML:
            <!--[if lt IE 7 ]><html lang="en" class="ie6"><![endif]-->
            <!--[if IE 7 ]><html lang="en" class="ie7"><![endif]-->
            <!--[if IE 8 ]><html lang="en" class="ie8"><![endif]-->
            <!--[if IE 9 ]><html lang="en" class="ie9"><![endif]-->
            <!--[if gt IE 9]><html lang="en"><![endif]-->
            <!--[if !IE]>--><html lang="en"><!--<![endif]-->
            Теперь можно добавить правило только для IE 6:
            .ie6 ul a {
                display: inline-block;
                white-space: nowrap;
            }

            Теперь в IE 6 страница отображается так же, как и во всех остальных браузерах, —
            при условии, что использование JavaScript включено. Если на компьютере пользо-
            вателя возможности JavaScript отключены, он не увидит значки рядом со ссылками.
            Это нормально — с помощью значков мы всего лишь украшаем страницу, это не-
            обязательный элемент содержимого. Однако даже когда JavaScript не используется,
            IE 6 все равно считывает правило ul a, которое добавляет пустое поле к каждой
            ссылке и увеличивает пространство между ними. Чтобы устранить этот дефект,
            добавьте селектор атрибута [href] к обоим правилам, ul a и .ie6 ul a:
            ul a[href] {
                display: block;
                min-height: 15px;
                padding-left: 20px;
                background-repeat: no-repeat;
                background-position: 0 3px;
            }
            .ie6 ul a[href] {
                display: inline-block;
                white-space: nowrap;
            }
            Эти правила выбирают все элементы a, находящиеся внутри элементов ul и имеющие
            атрибуты href, — а поскольку атрибут href есть у каждого элемента a, эти правила
            выбирают те же ссылки, которые они выбирали раньше, до того как мы добавили
            селектор атрибутов. Теперь, если JavaScript не используется, браузер IE 6, не распоз-
            нающий селекторы атрибутов, попросту игнорирует оба правила — таким образом,
            на странице не появляются ненужные поля и остальные элементы стилизации.
            Использование библиотек JavaScript
            Альтернатива сценарию IE7, который мы только что применили, — использовать
            библиотеку или каркас JavaScript со встроенными селекторами атрибутов. Вы до-
            бавляете эти селекторы в собственный сценарий и можете реализовать любой же-
            лаемый эффект. Недостаток такого подхода заключается в невозможности учесть


                                                        www.trk.kg
   157   158   159   160   161   162   163   164   165   166   167