я буду брать эту декларацию в Bootstrap CSS в качестве примера:CSS Метода Правила применения - Атрибут Wildcard против Listing Каждого класса
.col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
float: left;
}
Я заметил эту картину через другие структуры, а также. Я думаю, что это можно было бы легко записать в виде:
[class*='col-xs-'] {
float: left;
}
При попытке применить правило к набору классов, есть какое-либо преимущество в выписывая каждый класса, а не с помощью метода атрибута подстановочного? В таких ситуациях я предпочитаю использовать последнее в своей работе, но я заметил, что довольно много библиотек CSS выписывают каждый класс.
Я верю в эту конкретную ситуацию, потому что они используют col-xs- в других классах (col-xs-offset-), подстановочные знаки могут вызвать конфликты. – Quintile
Две проблемы с последующим подходом: (i) селектор соответствия подстроки '* =' вызывает непреднамеренное сопоставление, например. '[class * = col-xs-]' соответствует 'xxcol-xs-xx'; в то время как '| =' и '~ =' имеют ограничения (ii) селектор атрибутов имеет меньше специфики, чем селектор классов, поэтому '.foo {float: right;}' beats '[class * = col-xs -] {float: left} '** даже если указано в этом порядке **. Наконец, никто на самом деле не вводит эти длинные правила, как в первом примере. Эти правила генерируются * через предварительные процессоры CSS. –