CSS 继承之前的背景 rgba 值 EXCEPT alpha(不透明度)

CSS inherit previous background rgba value EXCEPT alpha (opacity)

我只想更改现有背景颜色的不透明度,颜色由服务器控制,我不能更改它,因为我使用网站构建器,但我想用 [=11 覆盖背景不透明度值=].
我读过 How do I give text or an image a transparent background using CSS? 并通过互联网搜索,我找到的唯一答案是使用 rgba(r,g,b,a) 函数。

那么我如何才能使 r、g、b 继承除 alpha(不透明度)之外的先前值?如果不可能,是否有任何解决方法来实现相同的目的?如果无法使用纯 css 解决方案,则使用 javascript 的任何解决方法 ?

在JavaScript中有一种方法可以做到这一点:

  1. 首先,定位您的元素:

    var elem = document.querySelector('#maincontent');

  2. 那么,可以抓取当前的background-color:

    var oldColor = getComputedStyle(elem).backgroundColor;

  3. 然后,更新颜色:

    var newColor = 'rgba' + oldColor.slice(3, -1) + ', 0.5)';

    // 上面一行会将颜色从 rgb 转换为 rgba

    // rgb(16, 14, 23) => rgba(16, 14, 23, 0.5)

  4. 现在,您可以更新目标元素的bg-color:

    elem.style.backgroundColor = 新颜色;