如何检查HTML元素的存在并仅使用CSS或Sass向其添加文本?

如何检查HTML元素的存在并仅使用CSS或Sass向其添加文本?,css,sass,frontend,Css,Sass,Frontend,我有两个元素,作者和一个div中的citation,如下所示: <div> <h1>author</h1> <h1>citation</h1> </div> 作者 引用 如果作者和引文都存在,我会在作者和引文之间加一个逗号。如果其中只有一个存在,或者没有一个存在,我什么也不做 有没有一种方法可以在CSS或Sass中仅在没有JavaScript的情况下执行此操作?在CSS中,您无法通过检查下一个兄弟来操作先前

我有两个元素,作者和一个div中的citation,如下所示:

<div>
   <h1>author</h1>
   <h1>citation</h1>
</div>

作者
引用
如果作者和引文都存在,我会在作者和引文之间加一个逗号。如果其中只有一个存在,或者没有一个存在,我什么也不做


有没有一种方法可以在CSS或Sass中仅在没有JavaScript的情况下执行此操作?

在CSS中,您无法通过检查下一个兄弟来操作先前的兄弟姐妹。检查第二个元素是否存在并对其进行处理的唯一方法是选择它

您可以使用伪元素
:before
求解它。但是,这可能不是您想要的方式,因为这两个元素位于不同的行上(都

所以,如果您想在没有JavaScript的情况下实现它,我建议考虑将这两个元素放在同一行中。

h1跨度:第n个类型(2):之前{
内容:",",;
}

授权

除非内联显示
h1
,否则您可以对h1应用相同的内容,这也适用于
h1+h1::before