接上文[《[CSS] HEX格局color不透明度变换》](https://segmentfault.com/a/1190000043633202)
应用css的opacity属性 (不透明度) 来给元素设置不透明度,能够发现opacity越小,色彩越靠近背景色。
css的opacity不仅影响元素content区域(content区域中的文字也会变的于背景色更靠近),也会影响元素的border,当opacity为0时,元素存在,视觉上不可见,边框一并隐没。
应用getHexOpacity的形式先获取通明色(opacityColor),再将背景色设置为opacityColor( background-color: var(--opacityColor) )这种形式在色彩自身与css opacity的实现视觉上无区别,有区别的是,其中不透明度为0的元素边框还在。
间接给元素设置 opacity,这种形式设置的是整个元素的透明度,它会影响元素及其所有内容和边框的透明度,而不仅仅是背景色的透明度。即元素的所有局部都会变得半透明。
通过 getHexOpacity制备通明色,再将其作为 background-color 属性的值设置给元素。这种形式设置的是元素的背景色的透明度,而不是元素自身的透明度。即元素的内容和边框的透明度并没有扭转,只有背景色的透明度扭转了。
如果须要调整元素的整体透明度,能够应用第一种形式(设置css的opacity)。如果仅须要调整元素的背景色的透明度,能够应用第二种形式。
完结。
同步更新到本人的语雀
https://www.yuque.com/dirackeeko/blog/rdu2e33k066o9gs9