2015-01-27 9 views
2

В настоящее время у меня есть страница, для которой я применяю CSS-стиль, специфичный для браузера, когда пользователь нажимает кнопку печати, используя следующий синтаксис html. Но следующий HTML-код не будет применять CSS, указанный для IE11 (ie11print.css), вместо этого он применяет css, который указан для остальных версий IE (ieprint.css).Как указать конкретный CSS-файл IE 11?

<!--[if IE 11]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ie11print.css" /><![endif]--> 
<!--[if lte IE 10]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ieprint.css" /><![endif]--> 
<!--[if !IE]>--><link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/print.css" /><!--<![endif]--> 

Кто-нибудь знает, как указать файл CSS только для IE11? Спасибо заранее.

+4

Вам не нужно ... в любом случае IE11 не поддерживает условные комментарии. –

+0

Возможный дубликат [Различные css для браузеров IE] (http://stackoverflow.com/questions/21849016/different-css-for-ie-browsers) –

+4

Что такое IE 11, чем отличается от других браузеров, которые вам понадобятся включить пользовательскую таблицу стилей, чтобы исправить ее? – Sampson

ответ

4

Используйте ниже хак и затем ваш стиль CSS:

*::-ms-backdrop, 

Пример:

*::-ms-backdrop,/*Your element*/ { 
     /*Your styles*/ 
    } 

Примечание: Это влияет только в IE browsers.So Вам нужно применить нормальный стиль, прежде чем это.

+0

спасибо @ rj7. Я попробую это и посмотрю –

+0

@ SachinB.R. Это работает правильно? – rJ7

+0

Это сработало для меня :) –

3

Просто добавьте ниже в вашем CSS стилей и увидеть в Internet Explorer 11

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) 
{                              
      Add your styles here 
} 
+0

Спасибо @disha. Попробуем это и дадим вам знать –

+0

Это для Internet Explorer 10 и более новых FYI ... –

1

чек, если браузер ie11

затем непосредственно добавить ссылку тег из JavaScript

  window.location.hash = !!window.MSInputMethodContext; 
      if (window.location.hash) 
      { 
       var $head = $("head"); 
       var $headlinklast = $head.find("link[rel='stylesheet']:last"); 
       var linkElement = "<link rel='stylesheet' href='/styles/ie11print.css' type='text/css' media='screen'>"; 
       if ($headlinklast.length){ 
        $headlinklast.after(linkElement); 
       } 
       else { 
        $head.append(linkElement); 
       } 
      } 

дайте мне знать, если какая-либо проблема. window.location.hash вернет true для ie11

+1

jQuery.browser устарел в версии 1.3 и ** удален ** в версии 1.9 (см. Http://api.jquery.com/ jQuery.browser /) - У меня также были бы серьезные сомнения, если он сможет обнаружить Internet Explorer 11 на основе значительных изменений в строке пользовательского агента в этой версии и неподдерживаемого характера метода. – pwdst

+0

// Добавляет true для IE11, false иначе window.location.hash = !! window.MSInputMethodContext; вы можете использовать этот надежный метод для обнаружения ie11 – pareshm