Полностью игнорировать взлом звезды в CSSLint?

У меня есть CSS, как это:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    *display: inline;
    zoom: 1;
    width: 100px;
}

Когда я запускаю CSSLint через

csslint --ignore=star-property-hack test.css 

это все еще показывает эту ошибку:

width can't be used with display: inline.
    width: 100px;

Есть ли какое-нибудь исправление?

2 ответа

Это правильно... когда дисплей встроенный, ширина не имеет значения. Зачем вам устанавливать отображение на inline вместо inline-block?

Тем не менее, попробуйте поместить свойство звезды в другой стиль с тем же селектором:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    width: 100px;
}

.inline-block {
    *display: inline;
}

Экран display: inline failover будет необходим, только если вам нужна поддержка IE6 (IE7 и более поздние версии понимают display: inline-block без проблем). Я бы порекомендовал следующее:

Если вам нужно поддерживать IE6:

Разделите хак на условную таблицу стилей, только для IE6:

В вашей основной таблице стилей:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    width: 100px;
}

В ie6.css:

.inline-block {
    display: inline;
    zoom: 1;
}

Если вам не нужно поддерживать IE6:

Просто используйте код:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    width: 100px;
}

И будь счастлив.

Другие вопросы по тегам