При определении цветов с помощью "стенографию, шестнадцатеричную" (style="color: #FFF;"
), есть ли определенный метод для расширения стенографии? (style="color: #F0F0F0;"
или style="color: #FFFFFF;"
)
Все браузеры используют тот же метод расширения? Это поведение спецификацией (если так, где это определяется)? Метод расширения, возможно, варьируется между CSS 1/2/3?
Я заметил, что "большинство браузеров" расширяется до #FFFFFF
.
Есть ли какие-либо другие места (за пределами HTML/CSS), где эта краткая нотация позволяется, но метод расширения отличается?
Я всегда избегал использования краткого шестнадцатеричного числа, потому что я никогда не знал ответы на эти вопросы...
CSS 2.1 ( http://www.w3.org/TR/CSS2/syndata.html#value-def-color ):
Три- цифровая нотация RGB (#rgb) преобразуется в шестизначную форму (#rrggbb) путем копирования цифр, а не добавления нулей. Например, # fb0 заменяется на # ffbb00. Это гарантирует, что белый цвет (#ffffff) может быть указан с помощью краткой записи (#fff), и устраняет любые зависимости от глубины цвета дисплея.
Формулировки CSS 1 , CSS 3 одинаковы. В проекте CSS 4 говорится то же самое.
В документах Internet Explorer и Firefox указывается один и тот же метод.
В качестве практического примера ознакомьтесь с этим фрагментом, который содержит 3 В Mac OS X 10.6 все Firefox 3.6, Opera 10.10, Safari 4 отображали Я не вижу причин, по которым браузер или стандарт захотят отклониться от этого расширения в будущем, поскольку цвет
div {width: 100px; высота: 100 пикселей; }
#fff
как #ffffff
. #ffffff
встречается гораздо чаще, чем # f0f0f0
.
Раздел CSS2 spec 4.3.6 Цвета:
Цветовая модель RGB используется в числовые цветовые характеристики. Эти во всех примерах указан один и тот же цвет:
em {color: # f00} / * #rgb * / em {color: # ff0000} / * #rrggbb * / em {цвет: rgb (255,0,0)} em {цвет: rgb (100%, 0%, 0%)}
Формат значения RGB в шестнадцатеричное представление - это '#' сразу за ними следуют три или шесть шестнадцатеричных символов. В трехзначное обозначение RGB (#rgb) преобразован в шестизначную форму (#rrggbb) путем копирования цифр, а не добавляя нули. Например, # fb0 расширяется до # ffbb00. Это гарантирует, что белый (#ffffff) можно указать с помощью сокращенное обозначение (#fff) и удаляет любые зависимости от глубины цвета дисплей.
Поскольку все современные браузеры поддерживают CSS, вы можете предположить, что он будет работать таким образом на ваших веб-сайтах и веб-приложениях.
При тестировании в IE8, Firefox 3.6 и Google Chrome 5.0 beta все три браузера повторяют шестнадцатеричную цифру:
... и так вперед.
Я не знаю ни одного браузера, который бы не расширял #FFF до #FFFFFF. Мне было бы интересно узнать, что, по вашему мнению, нет - или вы имеете в виду, что некоторые продолжают показывать #FFF?
Однако, как я понял, #FFF является допустимым сокращением, а # F0 также (правильно) развернуть до # F0F0F0.
Это может быть интересно http://www.websiteoptimization.com/speed/tweak/hex/