Как показать определенный контент для <= IE6 и другой для других браузеров? - PullRequest
1 голос
/ 08 декабря 2011

Как показать определенный контент в более ранних версиях IE6 +, а другой - другим? Возможно ли это с условным комментарием?

Спасибо

UPDATE

Я могу редактировать содержимое только в теге ...

Ответы [ 5 ]

4 голосов
/ 08 декабря 2011

Существует лучший вариант, описанный в блоге Paul Irish. ( Ссылка здесь )

Основная идея состоит в том, чтобы дать класс вашему тегу html следующим образом.

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

Предположим, на вашей странице есть ярлык. Например,

<label class="foo">Your browser is IE6!</label>

И вы хотите отображать этот ярлык только в IE6, сделайте это

label.foo { display: none;}
.ie6 label.foo { display: block; }

Этот метод, безусловно, имеет свои плюсы и минусы с.

Пожалуйста, прочитайте все другие комментарии в посте Пола Ирландского для более глубокого понимания сценария.

Действительно, лучшая часть сообщения в блоге часто начинается там, где заканчивается сообщение в блоге.
Надеюсь, это поможет.

1 голос
/ 08 декабря 2011

Я бы порекомендовал вам использовать специфичные для ie классы, такие как HTML5 boilperplate do:

<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

Тогда у вас может быть соответствующий CSS для показа / скрытия контента, например ::

.ie6-content: {visible: false;}
.ie6 .ie6-content: {visible: true;}
.content {visible: true;}
.ie6 .content {visible:false}

Таким образом, секции с ie6-content будут видны только для IE6, а секции с content не будут видны в IE6.

1 голос
/ 08 декабря 2011
1 голос
/ 08 декабря 2011

Вы можете использовать условные комментарии для включения контента только для определенных браузеров

Больше информации по адресу:

http://www.quirksmode.org/css/condcom.html

0 голосов
/ 02 мая 2017

Условные комментарии (к сожалению) не будут использовать вашу лодку, потому что они не существовали до IE 5. Кроме того, они не были доступны в netscape.Скорее всего, вы помещаете iframe в конец вашего контента, который отображает фактическое содержимое вашей страницы, например, так.

<title>Your websites title</title>
<body style="margin:0px;font-size:0px;width:100%;height:100%;overflow:hidden">
    <h1>heading</h1>
    <p>Body paragraph</p>
    <!--[if gt IE 6]><!-->
    <iframe frameborder="0" width="100%" height="100%" src="main.html" style="position:relative;width:100%;height:100%;background-color:white"></iframe>
    <!--<![endif]-->
    <style language="css" type="text/css">/*<!--*/
        /* put your limited CSS here */
    /*-->*/</style>
</body>

Затем вставьте условный комментарий нижнего уровня, чтобы iframe не отображалсяв IE 6 или IE 5. Тогда, пока в iframe нет текстового содержимого, он будет невидим даже в первой версии первого интернет-браузера.

Тогда, потому что ни один здравомыслящий человек не будетЕсли вы хотите потратить достаточно времени, энергии и усилий для обеспечения совместимости с IE5 для обычного веб-сайта, вы можете просто использовать условные комментарии нижнего уровня (поддержанные до того, как iframes были поддержаны, к счастью).

Затем вы можетедобавьте немного базовых CSS для браузеров, таких как самая старая версия Netscape.Суперосновный CSS включает в себя такие вещи, как цвет и кадрирование, и исключает такие вещи, как практически все классное и современное.

Мой источник для этого, конечно же, исходный код для первого в мире веб-сайта.Самые полные биты можно найти здесь: at cern .Это также причина для размещения заголовка за пределами заголовка и вообще без учета заголовка.

ТАК, этот метод позволит вам отображать простую альтернативу веб-странице всем браузерам старше IE 6Затем вы можете спросить насчет Chrome, Firefox, Opera и других браузеров.Ну, эти браузеры автоматически обновляются.Так что на самом деле нет никакой необходимости расширять поддержку предыдущих версий.

В любом случае, приведенная выше схема в лучшем случае схематична, но эй: она работает.И это достаточно хорошо для меня.

...