Использование разных стилей CSS для определенных браузеров
-
07-07-2019 - |
Вопрос
Как лучше всего иметь отдельный CSS для IE и других браузеров? Я думаю о том, чтобы просто ориентироваться на пользователей IE, Firefox и Safari. Особенно сейчас с поддержкой CSS3 в большинстве браузеров, кроме IE.
Различные способы сделать это, с которыми я сталкивался,
<Ол><!--[if IE]
> Я предпочитаю (2), так как (1) это дополнительная работа, особенно при разработке. Но (2), кажется, не работает все время. Какой самый эффективный способ?
Решение
У меня была бы одна таблица стилей, которую можно найти в верхней части документа.
под этим сделай свое [! - [если IE]] условная таблица стилей.
Здесь просто переопределите стили, которые вызывают проблемы в IE. - последним выбранным стилем для определенного класса будет тот, за которым последуют.
Другие советы
Наша команда работает с CSS по следующим трем правилам:
<Ол>Я согласен с тем, чтобы хранить все ваши основные CSS в одном файле. Если вы используете ASP.NET, вы можете использовать WebHandler для управления тем, какой CSS на самом деле отправляется. Я уверен, что другие языки имеют похожие решения. Это позволяет вам отправлять только то, что вам нужно, и разрешить его кэширование. Другое преимущество заключается в том, что вы можете комбинировать несколько CSS-файлов (если вы так делаете) и представлять только один. Это хорошая практика, поскольку вы уменьшаете количество запросов к веб-серверу.
Затем вы можете написать что-то вроде [if lt IE 8] margin: 0px; и он не будет отправлен в IE8 или FF и т. д.
Если вы используете только HTML, вы должны соблюдать условия стиля [! - [if IE]], упомянутые выше.
Мы используем WebHandler в нашем очень большом проекте, и я бы никогда больше этого не сделал.
См. http://www.conditional-css.com/download . Он доступен для PHP, C # и C
Удачи.
<!--[if !IE]><!--><link rel="stylesheet" href="non-ie.css"><!--<![endif]-->
<!--[if IE]><link rel="stylesheet" href="ie.css"><![endif]-->
Этот трюк широко использует Яндекс (он же " русский google ") для сокращения HTTP-запросов. market.yandex.ru , например, используя это.
Вы также можете использовать этот способ; иногда условия могут не работать, когда нам нужно написать стили в середине кода.
<?php $browser = $_SERVER['HTTP_USER_AGENT']; ?>
<?php if (strstr($browser, "MSIE 6.0")) { ?>
<link rel="stylesheet" href="ie6style.css" type="text/css" media="screen" />
<?php }else{ ?>
<link rel="stylesheet" href="default.css" type="text/css" media="screen" />
<?php } ?>
Проверьте $browser
с помощью:
IE & # 8211; & # 8220; MSIE # 8221 &;
Firefox & # 8211; & # 8220; Firefox # 8221 &;
Safari & # 8211; & # 8220; Safari # 8221 &;
Opera & # 8211; & # 8220; опера # 8221 &;
Chrome & # 8211; & # 8220; # 8221 Chrome &;