我正在试图找出在CSS中调用标签的内容,以便构建漂亮的段落。
目前,这就是我的代码:
p {
font-size: 1em;
line-height: 1.25em;
margin: 0;
text-align: left;
}
p + p {
text-indent: 2.5em;
}
li p, blockquote p {
margin: .5em 0;
}
我的HTML:
<p><strong>A little title</strong></p>
<p>Content text which can be single line or big block aswell.</p>
参考上面的代码,我想调用
<p><strong>g</strong></p>
内容,因此它不会像之前输入的那样继承p
。
我试过了:
p strong
会调用位于strong
但位于p
内的每个strong
。我的意思是:仅在p
之后,在p:not(p strong)
容器设置之后。也许可以使用负边距但有点凌乱......
strong
这听起来像是一种解决方案,但不适合这种情况,因为p
仍在使用p >strong:only-child
样式。
有没有办法用CSS做到这一点?
---编辑---
我现在使用了strong
,它正在p
标记中单独调用{{1}}个标记。为了提供良好的视觉渲染,我应用了缩进尺寸的负左边距...作为临时解决方案。
答案 0 :(得分:1)
您可以尝试p:not()
。进一步的文档在这里:http://reference.sitepoint.com/css/pseudoclass-not
更新:不幸的是,strong
部分继续继承p
标记样式。你最好的选择是在p strong
之类的选择器中清除它,然后应用你想要的其他样式。
更新2:结果证明您可以使用:not
伪造选择器。这里有一个例子:http://jsfiddle.net/Mf5uc/1/
答案 1 :(得分:1)
据我所知,你想要的是“包含”:
p:contains(b) { line-height: 2em; }
但原则上CSS中没有这样的选择器。 如果你想知道为什么然后阅读我的文章“CSS, selectors and computational complexity”
您的选择:
a)使用p.header
,p.normal
或
b)为<b>
而不是<p>
本身定义样式:
p > b:first-child:last-child {
font-size: 2em;
}
如果您需要对p > b:first-child:last-child
选择器发表评论,请与我们联系。