Sonarqube检测CSS误报「缺少通用字体族」?已包含sans-serif
问题解析与解决办法
这不是误报,你的CSS代码确实存在问题,根源在通用字体族的写法和位置上:
- 通用字体族(比如
sans-serif)属于CSS关键字,不需要用引号包裹。你代码里把"Sans-serif"加了双引号,导致SonarQube的规则无法正确识别它作为通用字体族。 - 通用字体族是兜底选项,必须放在
font-family列表的最后一位。你现在把它放在倒数第二位,后面还有"trebuchet ms",完全失去了兜底的作用,也不符合规范。
修正后的代码
body { line-height: 1; width: 960px; margin: auto; background: white; padding: 10px; box-shadow: 0px 0px 5px #CCC; font-family: "Lucida Grande", "Lucida Sans", "Microsoft Sans Serif", "Lucida Sans Unicode", "Verdana", "trebuchet ms", sans-serif !important; }
修正点说明:
- 移除
sans-serif的双引号,还原关键字的标准写法 - 将
sans-serif移到字体列表末尾,确保它能起到兜底作用
修改后SonarQube的检测提示会消失,同时代码也符合CSS字体规范。
内容的提问来源于stack exchange,提问作者Sahan Randika
相关产品推荐
相关产品推荐

