使用CSS从段落的第二行开始缩进

Reu*_*ben 88 html css text indentation pseudo-class

如何从段落的第二行开始缩进?

我试过了

p {
    text-indent: 200px;
}
p:first-line {
    text-indent: 0;
}
Run Code Online (Sandbox Code Playgroud)

p {
    margin-left: 200px;
}
p:first-line {
    margin-left: 0;
}
Run Code Online (Sandbox Code Playgroud)

(with position:relative;)
p {
    left: 200px;
}
p:first-line {
    left: 0;
}
Run Code Online (Sandbox Code Playgroud)

red*_*tor 180

它实际上只是你要缩进的第二行,还是来自第二行(即悬挂缩进)?

如果是后者,那么这个JSFiddle的内容就是合适的.

HTML

<div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</div>
<br/><br/>
<span>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</span>
Run Code Online (Sandbox Code Playgroud)

CSS

div {
    padding-left: 1.5em;
    text-indent:-1.5em;
}

span {
    padding-left: 1.5em;
    text-indent:-1.5em;
}
Run Code Online (Sandbox Code Playgroud)

此示例显示如何在DIV或SPAN中使用相同的CSS语法生成不同的效果.

  • @Reuben根据你的评论已被删除,我假设你做的是面对来自第二行 - 并且为了未来的访问者,也许这个小提琴更好,其中语法是P不div或span.http://jsfiddle.net/gg9Hx/ (3认同)
  • 为什么要先向左填充,然后再进行负文本缩进?为什么它必须这样工作?看起来很奇怪。为什么不只是一个正的“文本缩进”? (2认同)
  • 文本缩进对跨度没有影响.它可以从span的样式中删除,以获得相同的结果. (2认同)

小智 24

这对我有用:

p { margin-left: -2em; 
 text-indent: 2em 
 }
Run Code Online (Sandbox Code Playgroud)

  • 这似乎与OP所要求的完全相反.@ techillage的版本是正确的.你需要交换减去 (7认同)
  • 这几乎正​​是我所需要的。接受的答案对我不起作用,因为我没有在 CMS 中自由地以这种方式添加跨度。我在这里的解决方案遇到的唯一问题是,剩下的边距会将整个段落拉到容器之外。所以我添加了“position:relative”和“left:2em”,它是完美的。与 @AlexHolsgrove 的评论相反,techillage 的答案对我来说根本不起作用,但也许是因为我没有在列表元素上执行此操作。 (2认同)

小智 22

左边距:2em左右将整个文本包括第一行到右边2em.然后添加文本缩进(适用于第一行)为-2em左右.这使第一行返回开始没有边距.我尝试了列表标签

<style>
    ul li{
      margin-left: 2em;
      text-indent: -2em;
    }
</style>
Run Code Online (Sandbox Code Playgroud)


小智 6

有一个 CSS3 工作草案(希望很快)允许您编写:

p { text-indent: 200px hanging; }
Run Code Online (Sandbox Code Playgroud)

请关注:https ://developer.mozilla.org/en-US/docs/Web/CSS/text-indent