Является ли свойство CSS, начинающимся с хеша (#) действительным?

Что делает следующий CSS и действительно ли он?

h4 {
    width: 83%;
    #width: 75%;
}

Ответ 1

Недействительно. #width: 75%; является синтаксической ошибкой, поскольку # не используется в именах свойств CSS (хотя он используется в селекторах CSS, для выбора элементов с конкретными id s). Большинство браузеров будут игнорировать его (надеюсь), и будет применено только первое правило.

Возможно, кто-то попытался написать комментарий CSS. Это действительный способ: /*This is a comment*/

Edit

Я бы предложил использовать CSS reset файл, чтобы учитывать различия браузера.

Ответ 2

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

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

Ответ 3

используя #, прежде чем свойство применяет другой стиль css, т.е. 7. Является ли css взломать как *. Чтобы сделать его действительным, вы можете использовать условные комментарии для ie.

Ответ 4

Из того, что я читал на http://developer.expressionz.in/blogs/2007/09/08/for-your-ies-only/, хэш-хак предназначен для того, чтобы сделать правило видимым только для браузеров IE. Поскольку он - как уже упоминалось другими - не является допустимым свойством, другие браузеры будут игнорировать его.

Ответ 5

BTW, если второй ширине не предшествовал символ #, это займет width = 75%, а не 83%. Последнее значение всегда отменяет все предыдущие. Как указывали другие, это может быть взлом, который я не знаю, но скорее всего синтаксическую ошибку.

Ответ 6

В основном ответьте на оба вопроса.

  • # до того, как свойство переместит IE7 и IE6 (и ниже)
  • Нет, это неверно.

Я задал тот же вопрос, там больше информации, которая может быть полезной для других:

Сообщение: "CSS - "#" sign before property"