我有来自DB的文本($ row [text]),它看起来像:
<p>First</p>
<p>Second</p>
<p>Third</p>
我想从第2段开始应用“text-indent”。 我知道,它可以应用于类:
.a{text-indent: 20px}
<p>First</p>
<p class="a">Second</p>
<p class="a">Third</p>
但我无法做到这一点,因为我无法编辑数据库。 当我使用 p {text-indent:20px} 它适用于所有段落
答案 0 :(得分:2)
您可以将text-indent
应用于所有p
代码,然后将其移除first-child
:
p{text-indent: 20px}
p:first-child{text-indent:0}
&#13;
<p>First</p>
<p>Second</p>
<p>Third</p>
&#13;
答案 1 :(得分:2)
这取决于p
元素的标记上下文和所需的排版实践。例如,如果p
元素遵循列表或表格,那么它应该缩进吗?意见不一致。在任何情况下,一旦你决定了排版政策,你可以使用合适的上下文选择器来处理它(除非你需要担心相当旧版本的IE)。
在一个极端情况下,只有当一个段落紧跟在另一个段落之后时,才能缩进段落,因为这是真正需要缩进的上下文。正如您通常希望在使用缩进时阻止段落之间的默认垂直间距一样,您可以使用
p + p { text-indent: 1em; }
p { margin: 0; }
(使用em
单元优于px
,因为它适应字体大小的变化。通常1em
就足够了。)
答案 2 :(得分:1)
您可以使用nth-child伪类来实现此目的。它接受一个公式以及用0代替n等等,所以你的公式变为 2 + n
p:nth-child(2+n){text-indent: 20px}
<p>First</p>
<p>Second</p>
<p>Third</p>