Как минимизировать и объединить закомментированные CSS-файлы - PullRequest
1 голос
/ 29 февраля 2012

У меня есть эти условные CSS-файлы

<!--[if IE 7]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie7.css" /><![endif]-->    
<!--[if IE 6]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie6.css" /><![endif]-->

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

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Другими словами, я должен минимизировать и объединить их также?

Это противоположно тому, что я говорю.

Нет смысла проводить время оптимизация для умирающих веб-браузеров.

То, что у вас уже есть, работает и достаточно хорошо:

<!--[if IE 7]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie7.css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" type="text/css" media="all" href="/Content/css/ie6.css" /><![endif]-->

Если хотите, вы можете уменьшить ie7.css и ie6.css донемного уменьшите размер файла, но эти файлы уже должны быть относительно небольшими, поскольку они содержат только несколько исправлений для IE6 / 7.

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

Например, если выбыло это:

ie6.css :

.something {
    width: 100px;
}

ie7.css :

.something .else {
    float: left;
}

Вы можете удалитьэти файлы полностью, если вы добавили это в нижней части вашего основного файла CSS:

/* IE6 fixes */
* html .something {
    width: 100px;
}

/* IE7 fixes */
*+html .something .else {
    float: left;
}

Подробнее здесь: http://en.wikipedia.org/wiki/CSS_filter#Star_HTML_hack

1 голос
/ 29 февраля 2012

Я написал и использую проект OSS под названием RequestReduce , который автоматически проверяет ваш исходящий ответ и ищет css и javascript для объединения и минимизации.Этот инструмент используется на нескольких объектах, принадлежащих Microsoft, и получает широкое распространение в сообществе.Он решает эту проблему точно так же, как советует тридцатка, оставляя условно прокомментированные css и javascript в покое.Это действительно не стоит того, чтобы связывать их, так как популяции, использующие эти версии, невелики и сокращаются с каждым днем.Те, кто не использует IE6 или 7, вообще не будут использовать эти стили и поэтому не будут затронуты.Кроме того, особенно сложно связать их, потому что вам придется испускать другой пакет во время выполнения в зависимости от пользовательского агента посетителя.Хотя RequestReduce мог бы сделать это, есть больше дополнительных возможностей, на которые я мог бы тратить свое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...