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

Quarto中带标题的图片为何无法置于水印下方?

问题描述

在Quarto生成的HTML文档中,未添加标题的图片可正常显示在水印下方,但带有标题且在正文中被引用的图片会完全遮挡水印,导致水印在该区域消失。两张图片设置基本一致,仅区别在于是否添加标题并被正文引用。

问题重现代码

---
title: | 
    | 文档标题
author:
    - 作者
date: "`r format(Sys.time(), '%d %B, %Y')`"
toc: true
toc_float: true
number_sections: true
format: 
  html:
    theme: lumen
    embed-resources: true
---

<style>
.draft-watermark {
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    font-size: 100px; font-weight: bold; color: #ccc; opacity: 0.5;
}
</style>

<div class="draft-watermark">草稿</div>

```{r setup, message=F, warning=FALSE,echo=F}
# 加载包
library(tidyverse)
library(ggplot2)

Quarto简介

Quarto可以将内容和可执行代码整合为最终文档。想了解更多Quarto相关内容可查看官方网站。

运行代码

点击渲染按钮后,会生成包含内容和嵌入式代码输出的文档。你可以像这样嵌入代码:

1 + 1

也可以给可执行代码添加选项,比如:

#| echo: false
2 * 2

echo: false选项会隐藏代码,只显示运行结果。

mtcars %>% 
  ggplot(aes(x = hp, y = mpg)) + geom_point()

@fix-ex1

#| label: fig-ex1
#| fig-cap: "水印在此处被遮挡"
mtcars %>% 
  ggplot(aes(x = hp, y = mpg)) + geom_point()
## 解决方案

问题根源是带标题并被引用的图片会被Quarto包装在层级更高的容器中,默认堆叠顺序比水印靠前。只需修改水印的CSS样式,添加`z-index`属性并设置足够大的值,确保水印始终处于页面最上层:

```css
.draft-watermark {
    position: fixed; 
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    font-size: 100px; 
    font-weight: bold; 
    color: #ccc; 
    opacity: 0.5;
    z-index: 9999; /* 提高水印的堆叠层级 */
}

z-index用于控制元素的堆叠顺序,数值越大,元素在视觉上越靠上。设置为9999可以保证水印不会被页面中的其他内容(包括带标题的图片容器)遮挡。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:35:12