来源:互联网 更新时间:2026-07-12 09:17
暗黑模式下,Safari里选中一段文字,突然就看不见了——这事儿在GitHub、Notion或者自建文档站里尤其常见。说实话,问题本身不复杂,但踩坑频率高得离谱:根本原因就在于::selection伪元素没有显式定义color和background-color,导致选中文本时,文字颜色直接fallback到浏览器默认的黑色,在深色背景上自然就“消失”了。

更准确地说,是浏览器在暗黑模式下,没有主动去重写::selection的默认样式。父元素明明设了color: #e2e8f0,但::selection里没写color,结果文字颜色掉回黑色——深色背景一盖,自然就看不到了。
父元素设了color: #e2e8f0,但::selection里没写color→文字颜色fallback到浏览器默认值(通常是黑色),深色背景下就看不见了。
::selection和::-moz-selection】background-color(如#3b82f680)渲染异常,背景“变透明”,文字直接叠在深色容器上。
第一步:在CSS全局样式表最顶部添加以下规则:
::selection, ::-moz-selection {
color: #f1f5f9;
background-color: #4a5568;
}
第二步:确保该CSS被所有页面加载,不要放在scoped样式块或组件内——Vue/React中::selection写在scoped CSS里会因选择器提升失效,实际影响的是整个页面。
第三步:验证对比度。暗黑模式下color至少用#e2e8f0(不是#94a3b8这种中灰),确保WCAG AA级对比度≥4.5:1;background-color避免纯透明或低alpha,稳妥起见用十六进制不透明色。
方法一:给代码块单独高亮
写pre code::selection,而不是pre::selection——后者会把整块都高亮,包括行号。
方法二:避开无效区域
user-select: none】button::selection也无效;想让输入框支持选中高亮,得先加user-select: text。 币安Binance官方中文网站 币安App最新版下载及新手注册指南
七麦数据官网网页地址 七麦数据官方入口在线首页
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
问卷星官方网站入口地址 问卷星网页版在线使用
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
以太坊(ETH)未来数周或持续呈现低迷态势,多重因素制约价格走势
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
花的网名大全男生古风(精选100个)
Pharos(PROS)币是什么?如何参与?PROS币代币经济学和参与指南
比特币(BTC)与黄金在英国相遇:21Shares将BOLD基金引入伦敦
迷你网名古风男生霸气(精选100个)
新手如何购买比特币?2026年新手在币安购买比特币的完整教程
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
文雅简易网名男生可爱(精选100个)
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
动漫《恶之华》剧情介绍
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc