簡體   English   中英

按一定比例更改 CSS 顏色模式的所有不透明度值

[英]Change all opacity values of a CSS color pattern by a certain ratio

所以我們有這個字符串代表 CSS 中的顏色模式:

const COLOR = 'linear-gradient(to top, rgba(255, 0, 0, 0.3), purple, rgba(100, 100, 200), rgba(255, 0, 0, 0.8))';

我們可能有更多的 rgba(....) 甚至 rgb(...) 子字符串。

是否有一種有效的正則表達式或方法來增加每個rgba()子字符串的不透明度值,例如,不透明度指定為 10%?

function changeOpacity(text, change = 1) {

    ...

    return(newTextValue);
}

console.log(changeOpacity(COLOR, 1.1));

所以結果值將是:

linear-gradient(to top, rgba(255, 0, 0, 0.33), purple, rgba(100, 100, 200), rgba(255, 0, 0, 0.88))

嘗試這個:

 const COLOR = 'linear-gradient(to top, rgba(255, 0, 0, 0.3), purple, rgba(100, 100, 200), rgba(255, 0, 0, 0.8))'; function changeOpacity(text, change = 1) { newstr = text.replace(/\d\.\d/g, x => (parseFloat(x) * change).toFixed(2)); return(newstr); } console.log(changeOpacity(COLOR, 1.1));

我不知道您的確切要求,但您可以輕松更改漸變中 rgba(....) 或 rgb(....) 的不透明度。

線性漸變(到頂部,rgba(255, 0, 0, 0.3),紫色 40%,rgba(100, 100, 200) 50%,rgba(255, 0, 0, 0.8))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM