Я работаю над библиотекой на основе CSS и наткнулся на эту проблему как на лучший способ ее обработки.
И я знаю, что у всех нас есть эта проблема, поскольку у IE есть некоторые неожиданные действия, когда дело доходит до стандартной сети. Поэтому мой вопрос касается не только Microsoft Internet Explorer, так как есть проблемы, которые все еще присутствуют в Microsoft Edge.
И да, мы можем обработать его с помощью javascript, обнаружив браузер и версию. Но вся идея заключается в том, чтобы привести его в один файл CSS. И возможность этого.
Таким образом, используя предоставленные Microsoft методы или другие css-хаки,
Почему не IE условные комментарии?
<!--[if lt IE 7]> <html class="ie ie6"> <![endif]-->
<!--[if IE 7]> <html class="ie ie7> <![endif]-->
<!--[if IE 8]> <html class="ie ie8"> <![endif]-->
<!--[if IE 9]> <html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]> <html class="ie"> <![endif]-->
<!--[if !IE]><!--> <html> <!--<![endif]-->
ИЛИ
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie-only.css" />
<![endif]-->
Это поддерживает только до IE9, и оно было прекращено, поддерживая и вносимое в запросы CSS не последним. И лично я думаю, что это немного мешает разметке html
. Потому что это выглядит некрасиво, когда мы пишем библиотеку на основе CSS.
И о IE Специфические CSS-хаки для более старых версий и IE CSS-запросы для последних версий?
/* For IE 8 & Lower css hacks */
.some-class {
margin-top: 10px\9 /* apply to all ie from 8 and below */
*margin-top:10px; /* apply to ie 7 and below */
_margin-top:10px; /* apply to ie 6 and below */
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles */
.some-class {
margin-top: 10px;
}
}
@supports (-ms-accelerator:true) {
/* Microsoft Edge 12+ styles */
.some-class {
margin-top: 10px;
}
}
Хорошо, это намного лучше. И лично я считаю, что это более удобно, когда мы пишем библиотеку на основе CSS. Поскольку мы не будем просить пользователя импортировать несколько файлов и путать пользователей.
Актуальная проблема
Если вы заметили выше хаки и запросы CSS, IE9 отсутствует. Итак, есть ли аналогичный способ его достижения? И любой другой рекомендуемый способ сделать это? Или любой способ обработки всей версии IE и Edge с помощью одного взлома css?