Каковы плюсы и минусы использования внешнего CSS в условных комментариях над CSS хаки в том же CSS? - PullRequest
1 голос
/ 26 февраля 2010

Какие плюсы и минусы

если я сделаю 4 разных CSS?

  • main.css
  • IE7.css (в условных комментариях)
  • IE8.css (в условных комментариях)
  • IE6.css (в условных комментариях)

ИЛИ

1 файл CSS для всех

  • main.css +, включая взлом для IE6 + IE 7 + IE8 (при необходимости)

Ответы [ 3 ]

1 голос
/ 26 февраля 2010

Плюсы:

  1. Производительность : экономит ресурсы для браузеров, отличных от IE.
  2. Проверка : Вы можете проверить свой CSS, и браузеры без IE не должны обрабатывать недействительный CSS.
  3. Кросс-браузер : поддерживает IE 5.5 до IE 8 и, возможно, более новые версии.
  4. Поддержка : официально поддерживается Microsoft, в отличие от хаков CSS.

Минусы:

  1. Обслуживание : Вы должны поддерживать больше файлов.
  2. Производительность : IE придется делать больше HTTP-запросов.
  3. ПОЦЕЛУЙ : Иногда это может быть излишним, по одному или двум правилам.

В общем, я думаю, что условные комментарии лучше, чем хаки CSS.

1 голос
/ 26 февраля 2010

Это полностью зависит от того, сколько контента у вас есть в каждом файле и как вы хотите сгруппировать их. Разделение файлов * для удобства для сопровождающего, а не для технической проблемы.

* html (скрыть от IE6) - это единственный CSS-хак, который вы, вероятно, захотите использовать сегодня. Если вам нужно больше гибкости, тогда да, вам нужны условные комментарии, но нет, это не означает, что у вас есть , чтобы иметь отдельные таблицы стилей, если вы этого не хотите. И если у вас есть только пара взломов, вы, вероятно, не хотите.

например. в разметке вы можете добавить IE-специфичные классы

<!--[if lt IE 7]><body class="ie6"><![endif]-->
<!--[if (gte IE 7)&(lt IE 8)]><body class="ie7"><![endif]-->
<!--[if gte IE 8]><!--><body class="ok"><!--<![endif]-->

Теперь вы можете использовать IE без хаков:

body.ie6 .foo { ... }
body.ie7 .foo { ... }
1 голос
/ 26 февраля 2010

Недостаток использования разных таблиц стилей в том, что у вас будет еще один HTTP-запрос. Я считаю, что это совершенно ничтожно по отношению к профи, хотя:

  • Структура кода уборщика

  • Нет хаков = нет зависимости от нарушенного / недокументированного поведения

  • Гораздо проще поддерживать людей, присоединившихся к проекту позже

  • Новые версии могут быть легко добавлены (хотя, надеюсь, это больше не понадобится для IE9)

...