Или вы меня непоняли или я вас :) я не писал ничего про наследование стилей( хотя полагаю что любой явно заданый стиль имеет приоритет перед унаследованным ) здесь я попытался написать всё, но только про вчисление веса селекторов.
«Да, вы все верно поняли. Css селектор плевать хотел на все эти ваши изыски типа пробелов или «>».»
У меня было много раз, когда это:
.test > .a {
style: foo;
}
.test .a {
style: foo2;
}
не работало (пока во втором не добавляешь >). Вы уверены, что селекторы знак ">" не учитывают?
Это нужно знать когда пытаешься переопределить стиль, а он не срабатывает =) В свое время я тоже ломал голову почему мой класс не применялся jsfiddle.net/Fv5K8/
Это неправильное отношение к вещам: я эту часть вещей не использую, поэтому знать их не буду. В пхп не пишу классами, значит ооп учить не буду, в JS использую только jQuery значит нативный JS учить не буду, итд.
Это базовые понятия цсс и знать их обязан человек который работает с цсс, эти базисы описаны в каждой книге по цсс в первых главах.
Не всю же жизнь работать с БЭМ? Придет время и «я с этим не работал поэтому не знаю» не прокатит, особенно когда имеются ввиду самые основы.
Вообще-то, я не о том, что этого знать не нужно, а о том, что «как хорошо, что этим замысловатым каскадом можно не пользоваться благодаря методологии БЭМ».
БЭМ — частный случай работы только с классами. В любом случае иногда удобно делать иерархию. При чем я не могу сказать что каскады — неинтуитивные. В паскале присоить значение переменной — := это не интуитивно только тем кто этого не знает. Если писать акуратно, то каскады будут так же понятны и интуитивны как и БЭМ, а по глупости можно и в БЭМ делов натворить таких что черт ногу сломит.
Хм. Всегда придерживался такого правила: «Разработчики стандартов скорее всего не идиоты и придерживаются логики и здравого смысла. Я тоже не идиот и поэтому буду придерживаться логики и здравого смысла, который заключается в том, что [b]чем точнее(подробней) или ближе(`физически`) описание к самому элементу, находящемуся в рамках определенной последовательности, при прочих равных — тем правило тяжелее[/b]».
Ну, вообщем, проблем не возникало. Хотя допускаю, что логика может быть несколько нарушена, если человек часто работает с какими нибудь не очень то «логичными» вещами, и у него выработались определенные правила, то вполне логично может выглядеть и другой взгляд. И поэтому, статья скорее годная чем наоборот)
Не вижу повода для скептики, уважаемые гуру.
Неужели каскадирование и специфичность — это страшные тайны?) Кстати, автор забыл указать про весомость селекторов из стилей автора, стилей пользователя и браузерных стилей. Там есть довольно интересные грабли относительно !important.
с этим я просто не сталкивался, хотя это наверно интересно да. а вот например то что селектор задающий стили всем потомкам какогонибудь айдишника(id1) весомее селектора напрямую выбирающего айдишник(id2) одного из этих потомков — не всегда кажется таким уж очевидным :)) или пока не проверил я не знал что весомее .class1.class2 или .class1(пробел).class3 — пока не проверил :) так что некоторые вещи для меня были дейтсвительно тайной и даже пишут о них совсем не часто :))
Если сейчас добрая половина постов этом блоге повергает меня в ужас и отчаянье, и заставляет думать, что за полтора года я безнадежно отстала от верстки и возвращение будет стоить немалых усилий; то преподносимый как откровение пересказ куска спецификации прямо возвращает веру в себя и настраивает на позитивный лад.
А я-то испугалась, что за восемь позиций? А всё так банально.
Взвешиваем селекторы CSS