Как стать автором
Обновить

Комментарии 47

Мсье знает толк в извращениях.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Причём у меня это работает только если эти 256 классов заданы одним блоком:
.c000 /*...*/ .c255 {
  background: red;
}


Если хотя бы один класс из блока — уже не работает:
.c000 /*...*/ .c254 {
  background: red;
}

.c255 {
  background: red;
}


Браузер: 21-й Хром
НЛО прилетело и опубликовало эту надпись здесь
это вполне ожидаемое поведение
В первом случае описывается класс c255, вложенный в множество других классов именно в определенной очередности, а во втором вы задали цвет любому элементу с классом с255, даже не вложенному в эти классы.
Спасибо за разъясненение. Я написал глупость :)

Хотя всё равно остаётся вопрос: получается что к div-у вообще ни один из классов не применим, так как они определены в контекстном селекторе. Почему тогда это работает? Или в этом и кроется «магия»?
НЛО прилетело и опубликовало эту надпись здесь
А это влияет? Разве тогда они не запятыми должны быть разделены?
Понял, опять написал глупость :)
Это предназначалось комментатору на уровень выше.
Значит, действительно, прав тот, у кого большинство голосов…
«Специально привезенные на программисты дописывали css..»
нет, правда, приведите хоть один реальны пример использования
Речь ведь не об использовании, а просто о том, что было сделано любопытное наблюдение…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
я так полагаю, рассматривается случай, когда !important уже использован?
НЛО прилетело и опубликовало эту надпись здесь
Я видел эту новость на ycombinator.com
Полез в стандарт и нашел, что необязательно надо 256 различных классов. Можно использовать один и тот же.

.c000.c000.c000.c000.c000.c000... {
   background: red;
}
кстати в IE9 тоже работает
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Действительно, это уже нормальный Fx+Webkit+ie хак:
<style>
#id {
  background: blue;
}
.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c {
  background: red;
}
div {
  height: 100px;
  width: 100px
}</style>
​<div id="id" class="c"><div>​
И это работает.
Пример: codepen.io/anon/pen/yAbci
Да это же CSS-хак для определения Оперы!
НЛО прилетело и опубликовало эту надпись здесь
А что, раньше их не было что ли? Вот «Опера» 9.50+:
x:-o-prefocus, .opera {
  background: red;
}
НЛО прилетело и опубликовало эту надпись здесь
CSS3:
9. Calculating a selector's specificity

Note: Repeated occurrances of the same simple selector are allowed and do increase specificity.
НЛО прилетело и опубликовало эту надпись здесь
полезно :)
Уже в предвкушении новых адских конструкций…
ВЕРСТКА ОПАСНОСТЕ!!!!!!111
Напомнило прикол про лимит в 128 вложенных if. Программист жаловался, что компилятор игнорировал дальнейшие условия и пришлось использовать switch :)
А что за ЯП такой? И программист случайно не china-style?
кто-то пробовал c Оперой? У меня квадрат все время синий, может где-то ошибся.
НЛО прилетело и опубликовало эту надпись здесь
ну так я и сделал 65536 классов для теста оперы, а квадрат все равно синий
Пересчитайте, может не хватает парочки? :)
НЛО прилетело и опубликовало эту надпись здесь
Я когда читал спеку и книгу Мейера, увидев там 0001, 0010, 0100 и т.д — был уверен что расчёт идет в binary, ну это же настолько логично, что предполагается сразу! Тем более что подобные расчёты веса используются во многих других случаях и областях.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации