Значит ли знак минус или подчеркивание в css?

Этот вопрос похож на тот, который я спросил здесь. Я очищаю некоторые файлы, и я наткнулся на это в этом css:


.something
{
  height: 33px;
  -height: 34px; /* does this do anything?? /
}
and

.something
{
  _width: 150px; / does this do anything?? */
}

EDIT: Okay, so the _ (underscore) is a css hack for IE, which is fine, I'll just leave it, but what about the minus sign, does it do anything at all?

Also, we are not supporting anything below IE 7 anymore, so if anything is a hack for IE6 I can take it out.

Ответ 1

Прямо от W3C CSS 2.1 Spec -

4.1.2.1 Расширения, зависящие от поставщика

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

Однако, используя подчеркивание для префикса свойства CSS, это известный CSS hack, чтобы применить это правило для рендеринга в IE 6.

Поскольку идентификатор CSS может начинаться с '-' (тире) и быть действительным, это можно использовать для быстрого комментирования частей CSS во время разработки. Например, в CSS ниже, ни один из свойств не будет установлен для h1, и для h2 будет установлен только margin.

-h1 { color:blue; margin:2em; }
h2 { -color:pink; margin:2em; } /* property "-color" not valid */

Ответ 2

Это означает, что свойство CSS будет применяться в IE 6 и ниже. Это CSS hack.

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

Ответ 3

Я не уверен в знаке минуса, но подчеркивание - это взломать, чтобы игнорировать правило в IE и lt; 6.

http://wellstyled.com/css-underscore-hack.html

Ответ 4

Это CSS hack, чтобы обмануть некоторые браузеры, чтобы использовать их (или не использовать). Это Underscore Hack

Версии 6 и ниже Интернета Explorer распознает свойства с помощью этот префикс (после отбрасывания префикс). Все остальные браузеры игнорируют такие свойства, как недействительные. Следовательно, свойство, которому предшествует подчеркивание или дефис применяется исключительно в Internet Explorer 6 и ниже.

#elem {   
         width: [W3C Model Width];   
         _width: [BorderBox Model]; 
      }

Этот хак использует неверный CSS [3] и существуют действительные директивы CSS для аналогичный результат. Таким образом, некоторые люди не рекомендуют его использовать. На с другой стороны, этот хак не изменить спецификацию селектора обеспечения обслуживания и расширения Файл CSS проще.

CSS Hacks - это одна (не очень элегантная) техника достижения такого же внешнего вида и просмотра в браузерах.