Вопрос по sass, conditional-comments, css, bourbon – IE условные комментарии с Sass и Bourbon

4

Я хочу использовать разные шрифты для разных браузеров (см.этот вопрос).

Есть ли отличный способ сделать это с Sass / Bourbon?

Вот что у меня так далеко:

<!--[if IE]> -->
@include font-face("myicons", "myicons", $weight: normal, $style: normal,
                   $asset-pipeline: false);
<![endif]-->
<!--[if !IE]> -->
@include font-face("myicons", "myicons", $weight: normal, $style: normal,
                   $asset-pipeline: true);
<![endif]-->
возгласы. : Facepalm: John Bachir
Вы не можете включать условные комментарии IE непосредственно в таблицу стилей. Лучше всего, вероятно, использовать SASS для составления другой таблицы стилей для IE, а затем загрузить ее в HTML-код с помощью условных комментариев. Steve Sanders
Не забывай этоне рекомендуется для IE10 +. Vitor Canova

Ваш Ответ

1   ответ
1

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

Вы можете сделать это, добавив класс ie8 к html, как это делает шаблон html5, а затем использовать правило css для активации шрифта.

body {
  @include font-face("myicons", "myicons", $weight: normal, $style: normal, $asset-pipeline: false);

  .ie8 & {
    @include font-face("myicons", "myicons", $weight: normal, $style: normal, $asset-pipeline: true);
  }
}

и в HTML-файл

<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->
Вы правы, IE10 отключил по умолчанию условияquirksmode.org/css/condcom.html fernandopasik
Будет ли это работать для IE10 +? Если я прав, HTML-файл будет нуждаться в дополнительной строке:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> чтобы IE10 + вел себя как IE9, так что условные комментарии IE работают. Alvaro Montoro

Похожие вопросы