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

Quarto自定义SCSS主题部分属性被Bootstrap覆盖问题排查

Quarto自定义h2样式被Bootstrap覆盖的问题解决

问题原因

Quarto的SCSS主题有固定加载顺序:/*-- scss:defaults --*/块的代码会先于Bootstrap核心样式注入。而Bootstrap对h2,.h2明确设置了opacity: .9和border-bottom: 1px solid #dee2e6属性,当CSS选择器优先级相同时,后加载的样式会覆盖先加载的,所以你自定义的这两个属性被Bootstrap默认规则盖过去了。

至于font-style: italic能生效,是因为Bootstrap默认没给h2设置这个属性,不存在覆盖冲突。

解决方案

方法1:用scss:rules块(推荐)

Quarto专门提供了/*-- scss:rules --*/块,它的代码会在Bootstrap样式之后加载,优先级更高,直接就能覆盖默认样式。修改你的custom.scss:

/*-- scss:rules --*/

h2, .h2 {
    font-style: italic;
    opacity: 1;
    border-bottom: 6px solid red;
    padding-bottom: 0.15rem;
}

方法2:提升选择器优先级

如果一定要用scss:defaults块,可以给选择器增加层级来提高优先级,比如加上body前缀,权重比Bootstrap的基础选择器更高:

/*-- scss:defaults --*/

body h2, body .h2 {
    font-style: italic;
    opacity: 1;
    border-bottom: 6px solid red;
    padding-bottom: 0.15rem;
}

效果验证

修改后重新渲染文档,h2的红色粗下划线和完全不透明的效果就能正常显示,不会再被Bootstrap样式覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 21:30:23