第一行文本缩进的CSS替代?

时间:2013-07-07 11:00:42

标签: html css

我在使用Internet Explorer的Active-X插件打印页面时如何呈现<p> text-indent属性时遇到问题。这是相关的CSS:

p {
font-family: Calibri;
font-size: 20pt;
line-height: 1.75em;
margin-bottom: 1.00em;  
margin-top: 1.00em;
margin-left:1.0em;
margin-right:1.0em; 
text-indent:1.5em;  
}

下面您可以看到使用上面的代码打印HTML页面时发生的情况:

Improper rendering

每个新页面的顶部都应用了文本缩进!是否有另一种方法让每个<p>“段落标记”的第一行缩进而不使用“text-indent”属性?解决方案必须独立于浏览器。

2 个答案:

答案 0 :(得分:5)

如何使用::first-letter伪元素?

p:first-letter {
    padding-left: 30px;
}

JsFiddle Demo

浏览器支持

Chrome    Safari    Firefox    Opera    IE      Android    iOS
1+        1+        1+         3.5+     5.5+    All        All

答案 1 :(得分:2)

您可以使用pseudo elements来模仿文字缩进

的效果
p:before
{
    content: '\00A0 \00A0 \00A0 \00A0 \00A0 \00A0 \00A0';
    dispay:inline-block;
}

<强> FIDDLE


编辑:(根据提问者的评论)

如果上述CSS解决方案不适合您,则可能不使用css

你可以在每个段落元素之后附加固定数量的不间断空格。

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ...

一样

<强> FIDDLE

您只需通过复制/替换即可完成此操作:

 <p> -> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ...