html - 应用灰度混合模式
问题描述
有没有办法应用mix-blend-mode: difference
灰度?
背景可以是任何颜色,差异给我相反的文本颜色,这可能很难看。
此片段显示了问题:
.color {
width: 100px
height: 20px;
padding: 5px;
}
.color > span {
mix-blend-mode: difference;
color: white;
}
<div class="color" style="background: #fff">
<span>good</span>
</div>
<div class="color" style="background: #000">
<span>good</span>
</div>
<div class="color" style="background: #0f0">
<span>should be black or dark grey</span>
</div>
<div class="color" style="background: #00f">
<span>should be white or light grey</span>
</div>
<div class="color" style="background: #f00">
<span>should be white or light grey</span>
</div>
解决方案
这是使用过滤器的近似值。不确定它是否会涵盖所有情况。
.color {
padding: 5px;
background: currentColor;
}
.color>span {
filter: invert(1) saturate(0);
font-weight: bold;
font-size: 23px;
}
<div class="color" style="color: #fff">
<span>good</span>
</div>
<div class="color" style="color: #000">
<span>good</span>
</div>
<div class="color" style="color: #0f0">
<span>should be black or dark grey</span>
</div>
<div class="color" style="color: #00f">
<span>should be white or light grey</span>
</div>
<div class="color" style="color: #f00">
<span>should be white or light grey</span>
</div>
推荐阅读
- firebase - 组合futurebuilder和streambuilder时,Flutter中的Listview builder滚动不流畅
- java - 使用 WebSocket Angular 应用程序监听 REST 端点
- python - 我的弹丸停止射击问题如何解决?
- swiftui - 在 SwiftUI Picker 中为 NSManagedObject 设置默认值?
- webpack - Workbox - 如何忽略匹配前缀的 URI
- flutter - 我如何解决“在初始化程序中只能访问静态成员”错误
- sql - SQL 条件加一
- sql-server - 无法将 System.DBNull 转换为 System.Byte[]
- javascript - 如何使用谷歌表格脚本从 YouTube 播放列表中删除所有歌曲
- java - SQL 错误缺少数据库(“123”附近:语法错误)