css selfclosed 标签和 open-close 标签的规则

css rule to selfclosed tag and open-close tag

在 css 我想为这样的 selfclosed 标签添加一条规则:<unclear/>(准确地将内容转换为一个符号)

我已经为简单的开闭标签添加了不同的样式 <unclear>lorem ipsum</unclear>(我想将开标签 <unclear> 和闭标签 </unclear> 转换为一个符号,所以附上符号中的短语)

在css中:

unclear:before{ content:'20'; }
unclear:after{ content:'20'; }

但是根据这个 selfclosed 标签规则,我需要得到一个符号而不是两个。

unclear:before{
 content:'20';
}
unclear:after{
 content:'20';
}
<h1>Example1</h1>
<div>Somno contentus exiguo, cum id posceret tempus et ratio, perque spatia ita longissima impendio castus, ut nec <unclear/> mare ministro saltem suspicione tenus posset redargui, quod crimen, etiamsi non invenit, malignitas fingit in summarum licentia potestatum.</div>
...
<br />
<br />
<h1>Example2</h1>
<div>Intellectus autem naturae et <unclear>qualitate</unclear> sensus mundi ex omnibus, quae in mundo sensibilia sunt, poterit peruideri.</div>
...
<br />
<br />
<h1>Example3</h1>
<div>On my website this is display two cruces before finiruris, but I want to display one cruces beforefiniruris, how to do it?
Ager est <unclear/>finiruris <gap/> non praetermittimus nomina consent<supplied>i</supplied>entia condicionibus possessionum.</div>

CSS 不区分自闭标签和非自闭标签。因此,如果您有 <unclear></unclear>,然后是 <unclear/>,则与 CSS 相同。

事实上,即使 XML 解析器也无法区分:在构建文档树时,内存中 <unclear></unclear> 的节点看起来与 <unclear/> 完全相同.

所以这就是答案:这是不可能的;另辟蹊径。

一个部分解决方案是使用 :empty 伪 class。您可以使用

unclear:before{ content:'20'; }
unclear:not(:empty):after{ content:'20'; }

仅将 after 内容分配给包含某些内容的 (在您的特定示例中,<unclear>lorem ipsum</unclear>)。
不包含任何内容的(这里写的是<unclear/>)只得到before的内容。

有帮助吗?