是否可以在 CSS 中按百分比(例如 30%)定义 CSS 中的不透明度?似乎不起作用,现在我只能按小数点进行。
https://css-tricks.com/almanac/properties/o/opacity/
.test{
opacity: 0.3;
}
Run Code Online (Sandbox Code Playgroud)
预期目标:
.test{
opacity: 30%;
}
Run Code Online (Sandbox Code Playgroud)
小智 11
根据规范,使用百分比是完全有效的 css:https : //developer.mozilla.org/en-US/docs/Web/CSS/opacity#Values
alpha-valuenumber0.0 到 1.0(含)范围内的 A或percentage0% 到 100%(含)范围内的a ,表示通道的不透明度(即其 Alpha 通道的值)。区间之外的任何值,尽管有效,都被限制在范围内最接近的极限。
因此,根据规范,其中任何一个都应该没问题:
.foo {
opacity: .3;
}
.foo {
opacity: 30%;
}
Run Code Online (Sandbox Code Playgroud)
但是请记住,如果您使用的是 Sass,它不会处理该percentage值,而是会将其编译为1%.
如果你确实想使用 0 到 100 的范围,你可以自动计算小数:
element {
opacity: calc(40 / 100);
}
Run Code Online (Sandbox Code Playgroud)
或者你可以使用一个变量来使其更清晰:
element {
--opacity-percent: 40;
opacity: calc(var(--opacity-percent) / 100);
}
Run Code Online (Sandbox Code Playgroud)
但这两者都比标准所说的仅使用小数更不清楚,所以除非有真正有效的理由,否则我不会推荐它们。