交叉引用背后的变化
HTML输出的变化
Quarto 1.4中交叉引用的变化还引入了对图表和其他可交叉引用元素底层HTML输出的某些更改。对于大多数用户来说,这些变化是不可见的。然而,如果您正在操作Quarto的HTML输出,您可能会受到影响。特别是:
HTML图表的DOM结构以前是这样的,以下CSS选择器会起作用:
div#fig-elephant > figure > figcaption.figure-caption
在Quarto v1.4中,现在变为:
div#fig-elephant > figure.quarto-float.quarto-float-fig > figcaption.quarto-float-caption.quarto-float-fig
以下是一个图表的最小完整HTML输出:
<div id="fig-1" class="quarto-figure quarto-figure-center anchored"> <figure class="quarto-float quarto-float-fig figure"> <div aria-describedby="fig-1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca"> <img src="./img/content.jpg"> </div> <figcaption id="fig-1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca" class="quarto-float-caption quarto-float-fig"> 1: 这是一个标题。 图表</figcaption> </figure> </div>
具体来说:
- 所有可交叉引用的元素都使用带有
quarto-float
类的figure
HTML元素。 - 不同的浮动类型通过CSS类
quarto-float-fig
(或-tbl
,-lst
,或自定义交叉引用类型的ref_type
)以及额外的CSS类figure
,table
等来区分。如果元素是一个子浮动,这将是quarto-subfloat-fig
。 - 类似地,浮动标题使用带有
quarto-float-caption
类(或如果它们是子浮动的quarto-subfloat-caption
)的figcaption
元素,并且还具有quarto-float-*
CSS类。
这种设置允许所有“浮动”元素通过单一的CSS规则统一目标化,并且允许特定的浮动类型及其标题通过单一的额外CSS选择器目标化。
- 所有可交叉引用的元素都使用带有
图像本身曾经有一个环绕的段落;它们不再有。
浮动包含一个额外的div用于ARIA引用,以便标题能够被适当地和统一地引用。因此,如果一个表格出现在浮动中,其标题将被提升到图表节点本身。