首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据CSS百分比动态地将颜色更改为更亮或更暗

根据CSS百分比动态地将颜色更改为更亮或更暗
EN

Stack Overflow用户
提问于 2009-10-27 00:12:24
回答 16查看 691.7K关注 0票数 436

我们在网站上有一个很大的应用程序,我们有一些链接,比如说蓝色,就像这个网站上的蓝色链接。现在我想做一些其他的链接,但颜色较浅。显然,我可以简单地通过在CSS文件中添加十六进制代码来实现,但我们的站点让用户决定他们想要的自定义配置文件/站点的颜色(如Twitter)。

所以,我的问题是:我们可以按百分比减少颜色吗?

假设下面的代码是CSS:

代码语言:javascript
复制
a {
  color: blue;
}

a.lighter {
  color: -50%; // obviously not correct way, but just an idea
}

代码语言:javascript
复制
a.lighter {
  color: blue -50%;  // again not correct, but another example of setting color and then reducing it
}

有没有办法把颜色降低一个百分比?

EN

回答 16

Stack Overflow用户

发布于 2014-09-20 05:13:50

您可以在所有现代浏览器中使用CSS filters实现这一点(请参阅caniuse compatibility table)。

代码语言:javascript
复制
.button {
  color: #ff0000;
}

/* note: 100% is baseline so 85% is slightly darker, 
   20% would be significantly darker */
.button:hover {
  filter: brightness(85%);
}
代码语言:javascript
复制
<button class="button">Foo lorem ipsum</button>

下面是来自CSS Tricks的更多关于你可以使用的各种过滤器的阅读:https://css-tricks.com/almanac/properties/f/filter/

票数 638
EN

Stack Overflow用户

发布于 2009-10-27 00:18:32

有“不透明度”,这将使背景发光通过:

代码语言:javascript
复制
opacity: 0.5;

但我不确定这是你的意思。定义“减少颜色”:使透明?或者添加白色?

票数 121
EN

Stack Overflow用户

发布于 2013-08-28 22:30:17

HSL颜色提供了答案,HSL颜色值由:hsl(色调0,255,饱和度%,明度%)指定。

在IE9+、火狐、Chrome、Safari和Opera 10+中都支持HSL

代码语言:javascript
复制
a
{
color:hsl(240,65%,50%);
}
a.lighter 
{
color:hsl(240,65%,75%);
}
票数 77
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1625681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档