Я знаю, ты можешь написать ...
background-color: #ff0000;
... если вы хотите что-то красное.
И ты можешь написать ...
background-color: rgba(255, 0, 0, 0.5);
... если вы хотите что-то красное и полупрозрачное.
Есть ли краткий способ написания частично прозрачных цветов в шестнадцатеричном формате? Я хочу что-то вроде:
background-color: #ff000088; <--- the 88 is the alpha
... или ...
background-color: #ff0000 50%;
Я получаю все свои цвета в шестнадцатеричном формате, и необходимость конвертировать их все в десятичную шкалу 0-255 раздражает.
rgb(0xff,\x80,#44)
изумительно представление восьмеричной , кажется, йорк немногоrgb(0100, 0200,0300)
будет#4080C0
background-color: opacify(#ff0000, 0.5);
илиbackground-color: transparentize(#ff0000, 0.5);
вы можете предоставить шестнадцатеричные переменные цвета Sass для этих функций Sass.Ответы:
CSS Color Module Level 4, вероятно, будет поддерживать 4-х и 8-значное шестнадцатеричное обозначение RGBA!
Три недели назад (18 декабря 2014 года) проект редактора 4-го уровня цветового модуля CSS был представлен рабочей группе CSS W3C. Хотя в государстве , которое является в значительной степени подвержены изменению, текущая версия документа следует , что в несколько ближайшем будущем CSS будет поддерживать как 4 и 8-значный шестнадцатеричный RGBA обозначения.
Примечание: в следующей цитате вырезаны не относящиеся к делу куски, и к моменту прочтения вы, возможно, сильно изменили источник (как уже упоминалось выше, это черновик редактора, а не окончательный документ).
Если что-то сильно изменилось, пожалуйста, оставьте комментарий, дайте мне знать, чтобы я мог обновить этот ответ!
Что это значит для будущего CSS-цветов?
Это означает, что, предполагая, что это не полностью удалено из документа уровня 4, мы скоро сможем определить наши цвета RGBA (или цвета HSLA, если вы один из тех парней) в шестнадцатеричном формате в браузерах, которые поддерживают Color Синтаксис модуля уровня 4.
пример
Когда я смогу использовать это в своих продуктах для клиентов?
Все шутки в стороне: в настоящее время это только начало 2015 года, поэтому они не будут поддерживаться ни в одном браузере в течение достаточно долгого времени - даже если ваш продукт предназначен только для работы в самых современных браузерах, которые вы, вероятно, не увидеть это в действии в производственном браузере в ближайшее время.
Просмотр текущей поддержки браузера для цветовой нотации #RRGGBBAA
Тем не менее, то, как работает CSS, означает, что мы действительно можем начать использовать их сегодня! Если вы действительно хотите начать использовать их прямо сейчас, пока вы добавляете запасной вариант, любые не поддерживающие браузеры будут просто игнорировать новые свойства, пока они не будут признаны действительными:
До тех пор , пока вы читаете этот ответ на браузер , который поддерживает
background
иcolor
свойства в CSS, то<figure>
элемент в результате приведенного выше фрагмента кода будет выглядеть очень похоже на это:Используя самую последнюю версию Chrome для Windows (v39.0.2171) для проверки нашего
<figure>
элемента, мы увидим следующее:6-значное шестнадцатеричное отступление переопределяется
rgba()
значениями, а наши 8-значные шестнадцатеричные значения игнорируются, поскольку в настоящее время они считаются недействительными синтаксическим анализатором Chrome CSS. Как только наш браузер поддерживает эти 8-значные значения, они переопределяютrgba()
их.ОБНОВЛЕНИЕ 2018-07-04: Firefox, Chrome и Safari поддерживают эту нотацию, Edge все еще отсутствует, но, вероятно, последует ( https://caniuse.com/#feat=css-rrggbbaa ).
источник
/* Fall... foward? */
»Я предлагаю прыжок вперед. Откат и прыжок вперед: ^ pЯ нашел ответ после публикации улучшения вопроса. Сожалею!
MS Excel помог!
просто добавьте префикс Hex к значению шестнадцатеричного цвета, чтобы добавить альфа, который имеет эквивалентную непрозрачность как значение%.
(в rbga процентная непрозрачность выражается в десятичном виде, как указано выше)
источник
#FF00000C
эквивалентноrgba(255,0,0,0.05)
?#000000
становится#7F000000
.источник
var rgb = '#ffabcd'; var a = '0.5'; var matches = rgb.match(/#([\da-f]{2})([\da-f]{2})([\da-f]{2})/i); var rgba = 'rgba(' + matches.slice(1).map(function(m) { return parseInt(m, 16); }).concat(a) + ')';
<div style={ { backgroundColor: `rgba(${ parseInt(color.substring(1,3),16) }, ${ parseInt(color.substring(3,5),16) }, ${ parseInt(color.substring(5,7),16) }, 0.5)` } }></div>
Смотрите здесь http://www.w3.org/TR/css3-color/#rgba-color
Это невозможно, скорее всего потому, что 0xFFFFFFFF больше максимального значения для 32-битных целых
источник
#ffffff
(шесть шестнадцатеричных цифр) на самом деле является 24-битным значением цвета; 0xFFFFFFFF фактически равен 2³² − 1 и может быть представлен как 32-разрядное целое число без знака . Я думаю, что причина#ffffffff
(восемь шестнадцатеричных цифр) не указана в том, что цвета CSS коренятся в цветовом пространстве sRGB и что восьмизначная шестнадцатеричная запись будет неоднозначной с устройством отображения, которое поддерживает глубину цвета 32 бита. Помните, что это все еще#fff
так, что это означаетrgb(100%, 100%, 100%)
- белый - как с глубиной цвета 8 бит (256 цветов) и 16 бит (65536 или 64K цветов).Chrome 52+ поддерживает альфа-гекс:
источник
¯\_(ツ)_/¯
Используйте
red
,green
,blue
чтобы преобразовать в RGBA:источник
Боюсь, это невозможно.
rgba
формат , который вы знаете , это только один.источник
Если вы можете использовать LESS, есть функция затухания.
источник
rgba(base-color, 0.5)
Очаровательный принц:
Только Internet Explorer позволяет использовать 4-байтовый шестнадцатеричный цвет в формате ARGB, где A - альфа-канал. Может использоваться в градиентных фильтрах, например:
Где dir может быть: 1 (по горизонтали) или 0 (по вертикали). И цветовые строки могут быть шестнадцатеричными цветами (# FFAAD3) или шестнадцатеричными цветами argb (# 88FFAAD3).
источник
В Sass мы можем написать:
как это было предложено в шестнадцатеричном представлении цвета с альфа-каналом?
источник
Что ж, вам нужно выучить разные цветовые обозначения.
Кулер дает вам больше шансов найти цвет и в нескольких обозначениях.
Hex не отличается от RGB, FF = 255 и 00 = 0, но это то, что вы знаете. Таким образом, вы должны визуализировать это.
Я использую Hex, RGBA и RGB. Если массовое преобразование не требуется, ручное выполнение этого поможет вам запомнить несколько нечетных 100 цветов и их коды.
Для массового преобразования напишите какой-нибудь скрипт, подобный тому, который дал Алари. Удачи с цветами.
источник
почему бы не использовать
background-color: #ff0000; opacity: 0.5; filter: alpha(opacity=50); /* in IE */
если вы выбираете цвет для текста или, возможно, для элемента, это должно быть намного проще.
источник
opacity
свойство css.