HTML5颜色输入值可以透明吗?

10

如果不使用HEX (#ffffff) 之外的任何值,则会产生控制台错误。但我想知道用户是否希望没有颜色,而是透明。

我知道下面的语法无论如何都不起作用。但是否有任何方法能够实现透明值。

<input type='color' value='transparent'/>

3
这是HTML5规范中有关简单颜色值序列化的规则。简单来说,如果颜色可以用关键字(如"red")或十六进制表示法(如"#FF0000")来表示,那么在序列化过程中就使用这些表示法;否则,将使用函数表示法(如"rgb(255, 0, 0)")。此外,所有颜色表示法都应该以小写形式出现,并且不要省略任何可选的前导零。 - j08691
这里有更多的讨论:https://github.com/w3c/html/issues/1422 - Coderer
2个回答

2

我认为目前无法使用原生HTML颜色输入设置透明度值:

注意:将值设置为不是十六进制表示中的有效、完全不透明的RGB颜色的任何内容都将导致该值被设置为#000000。特别是,您不能使用CSS的标准化颜色名称或任何CSS函数语法来设置该值。

当您记住HTML和CSS是分开的语言和规范时,这是有道理的。此外,不支持带有alpha通道的颜色;指定9个字符的十六进制表示的颜色(例如#009900aa)也将导致颜色被设置为#000000。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color#value

一个潜在的解决方案可能是使用像Pickr.js这样的库。


-7

<div style="background-color:rgba(0, 0, 0, 0.5);">
   <div>
      Text added.
   </div>
</div>

目前HTML5没有直接支持透明背景的功能。我建议使用CSS。

链接在这里:CSS 背景透明度


你没有回答问题。 - SandRock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接