Что означает свойство со звездой в CSS?



Я смотрел на файл css сегодня и нашел следующий набор правил:



div.with-some-class {
display:block;
margin:0;
padding:2px 0 0 0;
*padding:1px 0 0 0;
font-size:11px;
font-weight:normal;
*line-height:13px;
color:#3D9AD0;
}


что означает звезда в * padding и * line-height?



спасибо.

352   4  
css

4 ответов:

Это " star property hack "по тем же линиям, что и" underscore hack."Он включает мусор перед свойством, которое IE игнорирует (*работает до IE 7, _ до IE 6).

в CSS? Ничего, это ошибка.

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

использование условных комментариев более четкое и безопасное.

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

*{color:#000;}

вышеуказанное свойство будет применено ко всем элементам DOM, тем самым победив естественное каскадирование в CSS. Он может быть переопределен только путем специального тегирования элементов DOM, где этот таргетинг начинает ссылку на уникальный идентификатор. Пример:

#uniqueValue div strong{color:#f00;}

вышеуказанное имущество будет переопределить подстановочный знак и сделать текст всех сильных элементов, которые происходят в div внутри элемента со значением атрибута id "uniqueValue".

использование универсально применяемого подстановочного знака, такого как первый пример, может быть быстрым и грязным методом для записи таблицы стилей сброса. Это быстро и грязно, потому что гранулированное определение представления после подстановочного знака, скорее всего, создаст чрезвычайно раздутую таблицу стилей. Если вы собираетесь использовать подстановочный знак, я бы предложил использовать его больше в частности, такие как:

* strong{color:#f00;}

приведенный выше пример сделает текст всех сильных элементов красным цветом независимо от других свойств CSS, не указанных с уникальным идентификатором. Это считается гораздо безопаснее, чем использование "!важное " объявление, поскольку это объявление, как известно, вызывает вмешательство в естественную функциональность предполагаемого поведения и является кошмаром обслуживания.

В Астерикс в вашем примере, не в том месте, как они, кажется, происходят внутри объявлений свойств код, который входит в фигурные скобки, и это, вероятно, вызовет ошибку.

это хак для IE7.

если вы пишете это:

.test {
    z-index: 1;
    *z-index: 2;
}

на всех навигаторах, которые уважают стандарт W3C <div class="test"></div> HTMLElement есть z-index: 1 но для IE7, этот элемент есть z-index: 2.

это не стандарт.

чтобы достичь того же с помощью стандарта W3C, выполните следующие действия:

  • добавить условный комментарий Internet Explorer (это простой HTML-комментарий для всех остальных браузер это стандартный способ).

и использовать предыдущие правила, как это:

.test {
    z-index: 1;
}
.ie7 .test {
    z-index: 2;
}

Comments

    Ничего не найдено.