javascript - 如何将悬停颜色添加到具有线性渐变边框的 div?
问题描述
我正在尝试将悬停颜色添加到这个特定的 div,但它不起作用,因为添加了渐变背景以使边框半径工作。
我正在使用 css-modules 在 React 组件中执行此操作。
这里有什么问题?我不是 css 专家,但很想知道问题的原因以及如何缓解它。
.card{
width: 40%;
height: 150px;
border: 2px solid transparent;
background:
linear-gradient(#fff,#fff) padding-box,
linear-gradient(125deg, #42E4A3, #A383E8) border-box;
border-radius:8px;
display:inline-block;
}
.card:hover{
background-color: rgba(0,0,0,0.04);
}
<div class="card">
No Hover color red <br/>
I am doing this in React a small gist of the problem
</div>
更新
在添加提到的样式后,我得到了相反的效果,边框渐变颜色出现在悬停上。如果我添加这个,我得到颜色,但 b 顺序颜色然后消失。
由于某种原因,渐变不接受具有如此低不透明度的 rgba,这是什么原因
.card:hover{
background:
linear-gradient(rgba(0,0,0,0.04),rgba(0,0,0,0.04)) padding-box;
} // no border color , when i change the color to rgba opacity it dosent work
rgba(0,0,0,0.1) 有效,但为什么不 rgba(0,0,0,0.04)
解决方案
在您的:hover
风格中,您应该background
使用边框渐变重新定义属性,只需将白色替换为#fff
新颜色red
.card{
width: 40%;
height: 150px;
border: 2px solid transparent;
background:
linear-gradient(#fff,#fff) padding-box,
linear-gradient(125deg, #42E4A3, #A383E8) border-box;
border-radius:8px;
display:inline-block;
}
.card:hover{
background:
linear-gradient(red,red) padding-box,
linear-gradient(125deg, #42E4A3, #A383E8) border-box;
}
<div class="card">
No Hover color red <br/>
I am doing this in React a small gist of the problem
</div>
推荐阅读
- asp.net-web-api - Web Api Owin - 忘记密码
- bootstrap-4 - 引导列错误
- excel - Excel 忽略重复项并动态列出唯一值
- java - 在“OnCompletionListener()”内的 Music 对象上使用“dispose()”?
- r - 标记化问题
- javascript - 从 HTML 在 div 中添加新元素
- python - Web 使用 serp 分页内容抓取论坛的多个页面
- python - Keras 错误:[0, 0] 中的预期大小 [1],但得到了 1
- java - 如何让 KeyListener 接受来自 Robot 的输入
- javascript - Angular 6:“typeof Observable”类型上不存在属性“fromEvent”