You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS中能否一次性选择多语言?如何简化多语言选择器写法

缩短CSS :lang()选择器的写法

原生CSS的:lang()伪类不支持同时传入多个语言代码,所以你尝试的h5:is(:lang(fa, ur, ar...))写法无效是符合规范的。以下是两种可行的优化方案:

方案1:保留原逻辑的精简写法

如果需要维持原选择器的匹配逻辑(即匹配所有处于指定语言环境下的h5,包括父元素设置lang属性的情况),可以通过精简语法减少冗余:

h5:is(:lang(fa),:lang(ur),:lang(ar),:lang(tg),:lang(ps)){ /* Farsi, Urdu, Arabic, Tajik, Pashto */
  font-family: 'Noto Nastaliq Urdu', serif;
}

只需去掉每个:lang()之间的空格,就能在不改变功能的前提下缩短代码长度。

方案2:属性选择器替代(匹配范围不同)

如果你的场景仅需要匹配自身带有对应lang属性的h5元素(而非继承父元素语言环境的情况),可以使用属性选择器结合:is()实现更紧凑的写法:

h5:is([lang="fa"],[lang="ur"],[lang="ar"],[lang="tg"],[lang="ps"]){
  font-family: 'Noto Nastaliq Urdu', serif;
}

注意:这种写法的匹配范围和原:lang()不同——:lang()会匹配所有处于指定语言上下文的元素(比如body设置lang="fa"时,所有子h5都会被选中),而属性选择器仅匹配自身lang属性精确等于对应值的h5。

内容的提问来源于stack exchange,提问作者Jose Mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:36:33