css规则到selfclosed标签和开关标签

时间:2017-07-24 10:00:49

标签: css css3 tei

在CSS上我想为这样的自闭合标签添加规则:<unclear/>(将内容转换为一个符号)

我已经这样做为简单的开关标记<unclear>lorem ipsum</unclear>添加了不同的样式(我想将开放标记<unclear>和封闭标记</unclear>转换为符号,因此请附上短语内部符号)

在css中:

unclear:before{ content:'\2020'; }
unclear:after{ content:'\2020'; }

但是对于自我标记的这个规则,我需要得到一个符号而不是两个。

unclear:before{
	content:'\2020';
}
unclear:after{
	content:'\2020';
}
<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>

1 个答案:

答案 0 :(得分:1)

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

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

这就是答案:这是不可能的;找到另一种方式。

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

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

仅将之后的内容分配给&lt; unclear&gt;包含某些内容(在您的特定示例中,<unclear>lorem ipsum</unclear>一个) &lt; unclear&gt;不包含任何内容(此处为<unclear/>编写的内容)只能获取之前的内容。

那会有帮助吗?