css - 如何实现颜色 B = 颜色 A 应用 30% 黑色 (#000000) 透明度
问题描述
假设我有一个box1
with background-color :red
。在box2
那里我需要设置border-top
基于box1
红色(75%)和黑色(25%)的背景颜色。每当我更改背景颜色时box1
,我需要设置box2
(box1 的当前背景颜色(75%)和 25% 黑色的边框顶部。
解决方案
使用hsl()
可以调整亮度的颜色以获得所需的颜色:
.box {
--color:0, 100%;
border:20px solid hsl(var(--color),20%); /*50% - 30%*/
background:hsl(var(--color),50%); /*this is red*/
width:100px;
height:100px;
display:inline-block;
}
<div class="box"></div>
<div class="box" style="--color:240, 100%;"></div>
<div class="box" style="--color:120, 100%;"></div>
推荐阅读
- r - how to read superscripts from excel with out changing format into r-markdown pdf?
- python - 如何用熊猫附加两列?
- python - roc_auc_score 用于多类分类,AxisError:轴 1 超出了维度 1 数组的范围
- angular - 禁用的属性在按钮的角度不起作用
- python - python的panda中的合并排序如何按列对excel文件进行排序?
- text - 为什么我们不能在文本编辑器中使用内置文本框
- java - Spring 5.3.7 中 locatorFactorySelector 的任何替换
- javascript - 未达到事件侦听器内部的 JS for 循环
- sabre - 查询酒店/航班/游轮价格时,货币代码如何处理?
- postgresql - PG查询函数杀死AWS lambda