Назначение звездочки перед свойством CSS

Из CSS CSS reset берется следующее. Может кто-то объяснить причину звездочек?

body {
  font:13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size:small;
  *font:x-small;
}

Ответ 1

Это броузер CSS для браузера для версий 7 или ниже Internet Explorer.

* свойство: значение

Хотя исправлен Internet Explorer 7 его поведение, когда имя свойства с префиксом подчеркивания или дефис, другие не-буквенно-цифровые символьные префиксы рассматриваются как они были в IE6. Поэтому, если вы добавите не буквенно-цифровой символ, такой как звездочку (*) непосредственно перед имя свойства, свойство будет применяется в IE, а не в других браузеры. В отличие от дефиса и метод подчеркивания, CSS спецификация не делает резерваций для звездочки в качестве префикса, поэтому используйте этого взлома может привести к неожиданное поведение как CSS спецификации развиваются.

* свойство: значение применяет значение свойства в IE 7 и ниже. Он может или может не работают в будущих версиях. Предупреждение: это использует неверный CSS.

От: http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

Ответ 2

Это взлома Internet Explorer. Если вы добавите не алфавитно-цифровой символ, например, звездочку (*) непосредственно перед именем свойства, свойство будет применено в IE7 и ниже, но не в других браузерах.

http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

Ответ 3

Все браузеры, но IE игнорируют правила. Он известен как звездный хак. Я думаю, что IE7 будет игнорировать правила в стандартном режиме.

В этом случае правило шрифта устанавливается, а затем переопределяется для IE 6, а иногда и 7.

Ответ 4

Насколько я знаю, звездочка запрещает Firefox читать атрибут, но действителен в IE.

Ответ 5

Размещение таких символов - это хак/обходной путь для того, чтобы IE 6 использовал свойство стиля, скрывая его от более "разумных" браузеров.

Из здесь:

Чтобы сократить длинную историю, синтаксический анализатор Internet Explorer слишком агрессивный при попытке обнаружить имена свойств и будет в факт игнорирует ведущие не-буквенно-цифровые символы. Из моего тестирования это по-видимому, имеет место, по крайней мере, начиная с IE5.

Ответ 6

Это взлома CSS, это правило будет применяться только к IE7 и ниже.

Я бы не рекомендовал использовать его, хотя есть лучшие способы исправить несовместимость IE.