具有内容但没有类

时间:2017-12-13 00:02:49

标签: css css-selectors

我需要能够组合下面的选择器,或者使用其他方法,为具有内容但没有类的段落设置样式。

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控件是强制性的,所以我必须更改选择器。

1 个答案:

答案 0 :(得分:3)

正如已经指出的那样,

  1. p:not([class]):not(:empty)是正确的。
  2. 但是,如果p元素包含空格或任何其他元素(包括:not(:empty)),则br元素将匹配p
  3. 如果您的富文本控件强制执行前导p元素,则可能需要使用不同的选择器(至少知道您的富文本控件)将br单独定位,而不管事实上它包含了那个任性{{1}}。