我需要能够组合下面的选择器,或者使用其他方法,为具有内容但没有类的段落设置样式。
p:not([class]) // selector for paras without a class attribute.
和
p:not(:empty) // selector for empty paragraphs.
尝试了
p:not([class]):not(:empty)
但未在Chrome中使用。
解决方案必须只有CSS和跨浏览器(仅现代,这里没有IE6!),没有JS或JQuery。
更多信息,因为您可能想知道我为什么要这样做 - 用例是一个内容可编辑的输入框。这个想法是用户必须将其中一个允许的样式应用于他们的输入,并且必须突出显示他们错过的任何样式。我们使用了无类选择器集,但我们使用的richtext控件在用户输入之前需要一个空的para,因此不应该出现高亮样式。 richtext控件是强制性的,所以我必须更改选择器。
答案 0 :(得分:3)
正如已经指出的那样,
p:not([class]):not(:empty)
是正确的。p
元素包含空格或任何其他元素(包括:not(:empty)
),则br
元素将匹配p
。如果您的富文本控件强制执行前导p
元素,则可能需要使用不同的选择器(至少知道您的富文本控件)将br
单独定位,而不管事实上它包含了那个任性{{1}}。