【发布时间】:2019-01-28 15:58:45
【问题描述】:
我想在h3 和body 之间添加padding-top: 20px;,但如果h3 前面有另一个元素(例如h2),则不会。这可能吗?
向所有标题添加padding-top 会在标题前面有正文但标题之间有不需要的填充时提供所需的填充:
请注意,此文档是使用knitr 创建的 Rmarkdown,因此我无法完全控制所有 html。最好使用纯 CSS 解决方案。
更新:
对于同样使用knitr 进行 Rmarkdown 的任何人来说,解决方案被证明是一个相当复杂的定位:
/* First h2 following h1 */
.level1 > .level2:nth-child(3) > h2 {
padding-top: 0px;
}
/* First h3 following h2 */
.level2 > .level3:nth-child(3) > h3 {
padding-top: 0px;
}
查看生成的 HTML,我了解到 h1 之后的第一个 h2 位于 level1 的第三个元素中,并且该元素称为 level2。第一个h3 也是如此。这就是上面的目标。其他文档中的结构可能有所不同,请自行查看。
【问题讨论】:
-
查看 w3schools.com 中的 css 选择器以获取更多想法
标签: css r-markdown knitr padding html-heading