在我的应用程序中,我的 React 项目中的按钮具有以下 css 代码:
.Button {
background-color: #somehex;
}
Run Code Online (Sandbox Code Playgroud)
当用户将鼠标悬停在按钮上时,我希望背景颜色更深一些。我试过改变不透明度,但没有用,目前正在这样做:
.Button:hover {
transition: 0.2s ease-in;
background-color: #ALittleDarkerHex;
}
Run Code Online (Sandbox Code Playgroud)
虽然这个过程有效,但它真的很乏味,因为我必须手动寻找我正在使用的颜色的较暗版本。我想知道是否有一种更简单的方法可以使用 CSS 使按钮的背景颜色变暗。
小智 13
这是你可以做到的一种方法
.button {
background-color: red;
}
.button:hover {
filter: brightness(60%);
}Run Code Online (Sandbox Code Playgroud)
<button class="button">Button</button>Run Code Online (Sandbox Code Playgroud)
任何高于的值brightness(100%)都会增加亮度,低于任何值都会使亮度变暗。
使用 background-image
.button {
display: inline-block;
color:#fff;
padding: 10px 20px;
font-size: 20px;
background-color:red;
}
.button:hover {
background-image: linear-gradient(rgba(0, 0, 0, 0.4) 0 0);
}Run Code Online (Sandbox Code Playgroud)
<div class="button"> some text </div>
<div class="button" style="background-color:lightblue;"> some text </div>
<div class="button" style="background-color:green;"> some text </div>
<div class="button" style="background-color:grey;"> some text </div>Run Code Online (Sandbox Code Playgroud)
要进行过渡:
.button {
display: inline-block;
color:#fff;
padding: 10px 20px;
font-size: 20px;
background: linear-gradient(transparent,rgba(0, 0, 0, 0.4)) top/100% 800%;
background-color:red;
transition:0.5s;
}
.button:hover {
background-position:bottom;
}Run Code Online (Sandbox Code Playgroud)
<div class="button"> some text </div>
<div class="button" style="background-color:lightblue;"> some text </div>
<div class="button" style="background-color:green;"> some text </div>
<div class="button" style="background-color:grey;"> some text </div>Run Code Online (Sandbox Code Playgroud)
混合模式的另一个想法:
.button {
display: inline-block;
color: #fff;
padding: 10px 20px;
font-size: 20px;
background-color: red;
background-image: linear-gradient(rgba(0, 0, 0, 0.4) 0 0);
background-blend-mode: lighten;
}
.button:hover {
background-blend-mode: darken;
}Run Code Online (Sandbox Code Playgroud)
<div class="button"> some text </div>
<div class="button" style="background-color:lightblue;"> some text </div>
<div class="button" style="background-color:green;"> some text </div>
<div class="button" style="background-color:grey;"> some text </div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |