我有一些困难的样式HTML 5日期输入在铬。
使用<input type="date" max="2020-06-03" value="2020-06-01">
之类的标记,并在CSS中使用一些背景和字体颜色样式,在Chrome中呈现为:
我想将右侧的日历图标设置为白色,以便与文本的颜色相匹配。::-webkit-calendar-picker-indicator
看起来像是一个可能的候选。在这个上面设置背景颜色会改变图标后面的颜色(和预期的一样)。但是我找不到任何对图标颜色本身有影响的参数。
8条答案
按热度按时间8tntrjer1#
我已经设法解决了这个问题,现在使用CSS过滤器将黑色转换为白色
然而,这感觉相当脆弱,离理想还很远。
mspsb9vt2#
另一种方法是将“配色方案”设置为深色。
第一个
仅供参考:这也将使弹出窗口处于暗模式。
i2byvkas3#
Shadow DOM样式设置了一个不能在CSS中交互的
background-image
(filter
除外)。一个选择是替换整个图像,在那里你可以设置任何填充颜色,这个方法将是向前兼容的,以防Chrome决定以后从color
继承图标颜色,代价是有一个“硬编码”图标:vktxenjb4#
实际上,使用
filter
属性可以获得相当的创造性。invert(100%)
将图标变为白色brightness(50%)
使其变为灰色sepia(100%)
使其饱和并使其...棕褐色saturate(10000%)
提升饱和度并将其变为亮红色之后,你可以用
hue-rotate
来改变色调。hue-rotate(240deg)
可以把它变成蓝色,hue-rotate(120deg)
可以把它变成绿色等等。如果你想得到一个真正特定的颜色,你应该check out this question on how to transform black into any given color using only CSS filters.k10s72fa5#
另一个例子是:
nqwrtyyt6#
我刚刚发现了这个很棒的小提琴。你用十六进制输入你需要的颜色,它就会给你你的过滤器代码。非常实用:https://codepen.io/sosuke/pen/Pjoqqp。
计算它的javascript是:
9gm1akwq7#
z9smfwbn8#
对于后代,请查看this Codepen,它通过
filter
属性将黑色转换为任何颜色