Селектор IE8 css

Я не думаю, что есть хорошее решение без статической отправки. Но документы для ошибки об объектах признаков с методами с общими параметрами фактически обеспечивают решение этой ситуации:

Во-первых, вы помечаете свой метод как where Self: Sized - это делает его недоступным черты объектов. Может быть, вам не нужен этот метод в контексте объекта trait - тогда все готово.

Если вам нужен метод в контексте объекта признака, вы можете снова использовать его с помощью типоразмера, который содержит объект признака, например, Box:

struct MyStruct(i32);

pub trait Store {
    fn len_of_first_str(&self, paths: impl IntoIterator>) -> usize
    where Self: Sized{
        paths.into_iter().next().unwrap().as_ref().len()
    }
}

impl Store for Box{}

fn myfun(arg: Box) -> usize {
    arg.len_of_first_str(vec!["string"])
}

45
задан Shishir Morshed 7 January 2016 в 15:20
поделиться

7 ответов

обновление 2013 года: IE10 + больше не поддерживает условные комментарии.

Исходный ответ:

Некоторые люди, кажется, смущены, потому что это не отвечает на букву вопроса, только дух - так для разъяснения:

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

Использование условные комментарии для предназначения для IE только.

Пример:

<!--[if gte IE 8]>
<style>
(your style here)
</style>
<![endif]-->

Все в два <!--> будет проигнорировано всеми браузерами неIE как комментарий и версии IE, которые являются меньше, чем IE8 пропустит его. Только IE8 и больше обработает его. обновление 2013 года: IE10 + также проигнорирует его как комментарий.

75
ответ дан Rex M 26 November 2019 в 20:44
поделиться

Этот вопрос старый, но ..

Сразу после открывающего тега основного текста ..

<!--[if gte IE 8]>
<div id="IE8Body">
<![endif]-->

Прямо перед закрывающим тегом основного текста ..

<!--[if gte IE 8]>
</div>
<![endif]-->

CSS ..

#IE8Body #nav li ul {}

Вы можете сделать это для всех браузеров IE, использующих условные операторы, ИЛИ нацелены на ВСЕ браузеры, инкапсулируя весь контент в div с именем браузера + версия на стороне сервера

11
ответ дан 26 November 2019 в 20:44
поделиться

После того, как я попробовал разные методы, я сейчас использую PDF-Toolkit . Он довольно старый, но быстрый, стабильный и надежный. Кроме того, он действительно не должен быть новым, потому что он просто оборачивает утилиты командной строки xpdf .

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

.IE8 #container { .... }

вместо

* html #container { .... }

или хуже!

4
ответ дан 26 November 2019 в 20:44
поделиться

Взгляните на это:

/* IE8 Standards-Mode Only */
.test { color /*\**/: blue\9 }

/* All IE versions, including IE8 Standards Mode */
.test { color: blue\9 }

(Источник: CSS-хак Дэвида Блума для режима стандартов IE8 )

26
ответ дан 26 November 2019 в 20:44
поделиться

Хорошо, это не взлом css, а из-за разочарования из-за того, что не смог найти способы настроить таргетинг на ie8 из css, и из-за политики отсутствия конкретных файлов css, я пришлось сделать следующее, что, как я полагаю, может оказаться полезным для кого-то другого:

if (jQuery.browser.version==8.0) {
   $(results).css({
         'left':'23px',
         'top':'-253px'
      });
}
2
ответ дан 26 November 2019 в 20:44
поделиться

Стиль CSS только для IE8:

.divLogRight{color:Blue; color:Red\9; *color:Blue;}

Только IE8 будет красным.

первый Синий: для всех браузеров.

Красный: Только IE6,7,8

Второй Синий: только для IE6,7


Итак, красный = только для IE8.

Для получения очень полного обзора взломов браузера (включая Internet Explorer (IE), Safari, Chrome, iPhone и Opera) посетите эту ссылку: http://paulirish.com/2009/browser-specific-css-hacks/

11
ответ дан 26 November 2019 в 20:44
поделиться

Я понимаю, что это старый вопрос, но это был первый результат в Google, когда я искал, и я думаю, что нашел лучшее решение, чем предложение с наивысшим рейтингом и то, что решил сделать OP.

#nav li ul:not(.stupidIE) { color:red }

Технически это противоположно тому, что хотел OP, но это просто означает, что вам нужно сначала применить правило, которое вы хотите для IE8, а затем применить его ко всему остальному. Конечно, вы можете поместить что угодно внутри (), если это действительный CSS, который на самом деле ничего не выбирает. IE8 подавляет эту строку и не применяет ее, но предыдущие IE (хорошо, я только проверил IE7, я перестал заботиться об IE6), просто игнорируйте: not () и применяйте объявления. И, конечно же, любой другой браузер (я тестировал Safari 5, Opera 10.5, Firefox 3.6) применяет этот CSS, как и следовало ожидать.

Итак, это решение, я думаю, как и любое другое решение на чистом CSS, предполагает, что если разработчики IE добавят поддержку селектора: not, они также исправят все несоответствия, из-за которых вы нацелились на IE8.

3
ответ дан 26 November 2019 в 20:44
поделиться
Другие вопросы по тегам:

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