В CSS мы можем использовать шестизначный шестизначный код для цветов или использовать 3-значные ярлыки.Расширение кода Hex кода CSS
Как браузер делает расчет шестизначного шестнадцатеричного кода из 3-значного ярлыка?
F F F
/ | \
/ | \
/ | \
FF FF FF
Простая конкатенация кажется немного сырой нефть (и здесь очень грубый пример)
var shortHex = "FFF";
var fullHex = shortHex[0] + shortHex[0] + [...]
ли 2 цифры часть получена из расчета на основе числового значения одной цифры?
Как вы получаете от Hex D
с двоичным значением 1101
, чтобы DD
с двоичным значением 11011101
через расчет?
Один способ: - умножить каждую шестую цифру на 11 (шестнадцатеричный), что дает результат. Таким образом, D * 11
дает DD
.
Это оставляет нам вопрос: как именно это делается в браузере? Это просто случай удвоения каждой цифры или использование другого уравнения?
Во-вторых, почему была введена эта трехзначная система? Что вдохновило это решение?
Не будет ли это отличаться от браузер для браузера? В конце концов, это деталь реализации. Спектр говорит, чтобы просто удвоить каждую цифру, но не говорит, должна ли реализация делать это путем конкатенации, свертывания или умножения бит. – BoltClock
Возможно, да. Мне было бы интересно увидеть, как это будет достигнуто, если не будет применен один стандартный подход. –