На самом деле очень хитро. Сначала вы не задумываетесь об этом, но с помощью иерархии классов вы можете проделывать кое-какие забавные вещи.
Facebook, например, использует HTTP-заголовок User-Agent для установки конкретных классов браузера в теге body. Он не используется все время, но его можно использовать для написания специфичного для браузера CSS, и он превосходит многие другие альтернативы, потому что это просто точечное использование CSS, и в конечном итоге вы группируете специфичные для браузера вещи вместе с общими правилами CSS, продвигая локальность в вашем CSS-файлы. Это важно, когда вам нужно поддерживать файлы CSS в течение длительного периода времени.
a { color: blue; }
.ie7 a { color: black; }
Потому что то, как CSS «каскадирует» приведенное выше правило CSS для тега привязки, будет более конкретным при отображении с помощью Internet Explorer 7. Это будет через специфика селектора заставляет теги привязки быть черными в IE7, без хакерских и непонятных приемов CSS.
Как упоминалось другими, его также можно использовать через JavaScript. Я считаю очень полезным использовать классы CSS в качестве логического флага. например Я могу использовать его для создания очень простого элемента управления водяным знаком.
<input type="text" value="watermark" class="watermark" />
$('input').focus(function(e) {
var target = $(this);
if (target.hasClass('watermark')) {
target.val('');
target.removeClass('watermark');
}
});
Этот фрагмент jQuery будет работать нормально, но что более тонко, так это то, что теперь у меня есть две вещи. Логика и стиль в одном кадре. Потому что водяной знак, используемый здесь как флаг, также можно использовать для применения определенного визуального стиля через CSS, в зависимости от состояния этого ввода. например Возможно, мне не нужен сероватый курсивный шрифт, когда водяной знак активен.
Таких примеров еще много, и я призываю вас больше экспериментировать.
person
John Leidegren
schedule
14.05.2010