Я думаю, что это будет трудно обойтись без каких-либо скриптов. И ответ, данный @eisbehr, будет отлично работать. Но если вы не хотите использовать какие-либо другие плагины, но jQuery, вы можете проверить documentMode и добавить некоторую информацию в тело. Тогда пусть css решит, что показывать или нет.
ПРИМЕЧАНИЕ: оно не работает в Edge. Код написан специально для IE10 и IE11, поскольку это то, о чем попросил OP. Но его можно настроить для разных версий. Но тогда я бы пошел с ответом от @eisbehr.
$(function() {
if(document["documentMode"]) { // If Internet Explorer 10, 11
var cssClass = "ie" + document["documentMode"];
$('body').addClass(cssClass);
}
});
.ie-dependant {
display:none;
}
body.ie11 .ie-dependant.ie11 {
display: block;
}
body.ie10 .ie-dependant.ie10 {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ie-dependant ie10">
This is ie 10.
</div>
<div class="ie-dependant ie11">
This is ie 11.
</div>
В качестве альтернативы, вы можете обнаружить это на стороне сервера, и позволить серверу возвращать различные таблицы стилей.
Обнаружение этой чисто клиентской стороны будет больше проблем, чем того стоит. – MackieeE
вам лучше использовать стили и загрузить в другую таблицу стилей для IE. Используйте резервную копию png для неподдерживаемых браузеров или используйте что-то вроде modenizr, которое добавляет классы в тег 'html' – Martin
Я не понимаю, почему этот вопрос заслуживает немедленного голосования. SVG отлично работает, за исключением Internet Explorer. Он неправильно отображает этот специфический SVG, и логично попытаться найти способ его замены с помощью PNG. – Goran