Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Что такое __qem?

Случайно встретил в коде внутренних CSS WebKit странную единицу (CSS Unit) — «__qem»:

p {
    display: block;
    margin: 1.0__qem 0px
}

Спасибо, во внутренней «Ярушке» подсказали что это:

After lots of digging, I learned that the «__qem» unit used in Safari’s stylesheet stands for «quirky» em, and has to do with how margins behave in «quirks» mode, which is a topic for another day.

Удивительно. Причём, во всём интернете только один человек до этого докопался.

6 комментариев
aleske.moikrug.ru 2010

Оттуда же получается что у IE есть внутренняя единица zzz (участвует в правиле для caption).

Евгений Степанищев (bolknote.ru) 2010

Комментарий для aleske.moikrug.ru:

Да, это очень странная единица, равная пикселю в quirks mode и равная нулю в strict. Причём, если задать padding: 300zzz, то он будет равен 300px 300px 0, в подробностях я ещё не разбирался.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для aleske.moikrug.ru:

Сейчас провёл пару экспериментов. Как я и ожидал, можно написать почти любой бред — «300xxx», «300^_^», результат будет один. То есть это не внутренняя единица.

aleske.moikrug.ru 2010

Комментарий для Евгения Степанищева:

Ага, ещё какая странная. Работает только для паддингов и маржинах, а для других пропертей игнорируется напрочь.
Кстати, z и zz вроде как тоже обрабатываются аналогичным образом.

aleske.moikrug.ru 2010

Комментарий для Евгения Степанищева:

о_О (!)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для aleske.moikrug.ru:

Не, это штука много для чего работает. Например, для border.