仅缩进段落中的第一行文本?

Posted

技术标签:

【中文标题】仅缩进段落中的第一行文本?【英文标题】:Indenting only the first line of text in a paragraph? 【发布时间】:2011-08-16 22:47:43 【问题描述】:

我有几个段落想要缩进,尽管只有这些段落的第一行。

如何使用 CSS 或 html 仅定位第一行?

【问题讨论】:

@Ricardo - 不幸的是没有。将答案标记为 the 答案仅提供给提出问题的人,并且其权力无意改变它。就他们而言,为了其他人遇到问题,这就是投票系统的目的(基本上,投票最多的答案是“社区选择”)。 你为什么不接受答案?这里有几个不错的。 【参考方案1】:

使用text-indent 属性。

p  
   text-indent: 30px;

jsFiddle.

【讨论】:

当我在 Stackoverflwo 上看到对我有帮助的答案时,我感到非常难过,但 OP 不接受它......对不起,兄弟。你活该。 似乎用户停止使用 S.E.在被询问或消失后不到一个月。 @paulotorrens 接受的答案应该是获得最多支持的答案,因为它有助于大多数人,而不仅仅是 OP @paulortorrens 接受的答案对 OP 选择很好。为什么伤心?这没那么重要。重要的是答案得到了投票,让每个人都清楚这是一个很好且有用的答案。【参考方案2】:

除了文本缩进之外,如果您希望应用其他样式,还可以使用:first-line 选择器。

p:first-line 
    color:red;


p 
    text-indent:40px;

http://jsfiddle.net/Madmartigan/d4aCA/1/

【讨论】:

【参考方案3】:

使用 css 非常简单:

p 
    text-indent:10px;

将在每个段落中创建 10 像素的缩进。

【讨论】:

【参考方案4】:

我在将段落的第一行(仅第一行)缩进时也遇到了问题,我正在尝试以下代码:

p::first-line  text-indent: 30px; 

这不起作用。所以,我在我的 CSS 中创建了一个类,并在我的 html 中使用它,如下所示:

在 CSS 中:

.indent  text-indent: 30px; 

在html中:

<p class="indent"> paragraph text </p>

这就像一个魅力。我仍然不知道为什么第一个代码示例不起作用,我确实确保文本没有对齐。

【讨论】:

第一个不起作用,因为 ::first-line 是一个伪元素,只能应用 CSS 属性的子集。 text-indent 不是其中之一。见developer.mozilla.org/en-US/docs/Web/CSS/::first-line【参考方案5】:

其他人提到了通过 CSS 实现这一点的最佳方法,但是如果您需要快速修复内联格式,只需使用以下代码:

<p style="text-indent: 40px">This text is indented.</p>

来源:https://www.computerhope.com/issues/ch001034.htm

【讨论】:

这与接受的答案相同,除了在 HTML 标记中添加内联样式的不良做法...【参考方案6】:

给你:

p:first-line 
    text-indent:30px;

没有为 CSS 新手找到明确的答案,所以这里是一个简单的答案。

【讨论】:

:first-line 不起作用,因为text-indent-property 对其没有影响。没有p 的伪元素,就没有问题。 text-indent-property 无论如何只打算第一行。因此,没有理由一开始就只针对一条线。另见:developer.mozilla.org/en-US/docs/Web/CSS/::first-line 和 developer.mozilla.org/en-US/docs/Web/CSS/text-indent【参考方案7】:

我遇到了同样的问题,只是我必须使用多个 &lt;p&gt; 标签。使用“text-indent”属性想要缩进所有&lt;p&gt;标签,这不是我想要的。

我想在推荐列表中添加一个精美的报价图片,每条报价的开头都是基于 css 背景的图片,图片右侧的文字。由于text-indent 导致所有后续段落缩进,而不仅仅是第一段,我不得不做一些解决方法。但是,如果您不想制作图像,则同样的方法也适用。

我首先在我想要缩进的段落的开头添加一个空 div 来实现这一点。接下来,我对其应用了一个小的宽度和高度来创建不可见的框,最后应用了一个左浮动以使其与文本内联。如果您将其用于图像,请确保在右侧添加边距或将宽度稍宽一些以留出一些空白。

这是一个内联 CSS 的示例。您可以轻松地创建一个类并将其添加到您的 CSS 文件中:

<div style="height: 25px; width: 25px; float: left;"></div>
<p>First Paragraph</p>
<p>Second Paragraph</p>

【讨论】:

【参考方案8】:

首先缩进所有行 (1),然后缩进第一行 (2)

padding-left: 0.4em /* (1) */
text-indent: -0.4em /* (2) */

【讨论】:

以上是关于仅缩进段落中的第一行文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中仅缩进多行 UILabel 的第一行?

Word如何设置悬挂缩进?

如何段落首行缩进2字符

怎么设置首行缩进2字符

如果段落在 PdfPCell 中换行,如何保持缩进?

英文需要首行缩进吗