如何使用CSS缩进段落

使用文本缩进属性和相邻兄弟选择器

良好的网页设计往往是很好的排版。 由于如此多的网页内容以文本形式呈现,因此能够将文本样式设计为既具吸引力又有效,这是网页设计师具备的一项重要技能。 不幸的是,我们在网上印刷的印刷控制水平并不一样。 这意味着我们不可能总是可靠地在网站上设置文本样式,就像我们可以在印刷品上一样。

您经常在打印中看到的一种常见段落样式(我们可以在线重新创建)是该段落的第一行缩进一个制表符空间的位置 。 这使读者能够看到一个段落的开始和另一个段落的结束。

您在网页中看不到这种视觉风格,因为默认情况下,浏览器会在其下方显示带有空格的段落,以此来显示一个结束点和另一个结束点的开始位置,但如果您想让页面的样式具有该打印效果,启发了段落的缩进样式,您可以使用text-indent样式属性来实现。

这个属性的语法很简单。 以下是如何将文本缩进添加到文档中的所有段落。

p {text-indent:2em; }

自定义缩进

一种可以精确指定要缩进的段落的方法是,可以向要缩进的段落添加一个类,但这需要您编辑每个段落以向其中添加一个类。 这是低效的,并不遵循HTML编码最佳实践。

相反,您应该考虑何时缩进段落。 您缩进紧接着另一段落的段落。 要做到这一点,你可以使用相邻的兄弟选择器。 使用此选择器,您可以选择紧接在另一段前面的每个段落。

p + p {text-indent:2em; }

由于您要缩进第一行,因此还应确保段落之间没有任何额外的空间(这是浏览器的默认设置)。 在风格上,你应该在段落之间有空格或者缩进第一行,但不能同时使用两者。

p {margin-bottom:0; padding-bottom:0; } p + p {margin-top:0; padding-top:0; }

负缩进

您还可以使用text-indent属性以及负值,以使行的开始位置向左而不是像正常缩进那样向右。 如果一行以引号开头,以便引用字符出现在段落左侧的略微空白处,并且字母本身仍然形成一个很好的左对齐,则可以这样做。

比如说,你有一个段落是一个块引用的后裔,你希望它被负面缩进。 你可以写这个CSS:

blockquote p {text-indent:-.5em; }

这会使该段的开头部分(可能包括开头引号字符)略微移动到左侧以创建挂起的标点符号。

关于边距和填充

在网页设计中,通常使用边距或填充值来移动元素并创建空白区域。 但是,这些属性无法实现缩进的段落效果。 如果将这些值中的任何一个应用于段落,则该段落的整个文本(包括每一行)将被间隔开,而不仅仅是第一行。