4

我试图在 div 中将带有一些文本的段落标签居中,但我似乎无法使用 margin: 0 auto 将其居中,而无需为段落指定固定宽度。我不想指定固定宽度,因为我将有动态文本进入段落标签,并且它总是会根据文本的多少而具有不同的宽度。

有谁知道我如何在 div 中将段落标签居中而不必为段落指定固定宽度或不使用表格?

4

8 回答 8

9

这是使用样式表的方法。

样式表:

div.center-content
{
    text-align: center;
}

div.center-content p
{
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}

HTML:

<div class="center-content">
    <p>Lorem ipsum dolor sit amet</p>
</div>
于 2009-06-08T08:00:26.953 回答
2

发现这个:Centering Block-level Content With Unknown Width

于 2009-06-08T07:59:19.250 回答
1

除了“文本对齐”属性

用于在块元素(如 div)中居中元素

像使用 css

 边距:自动

类似于下面发布的内容

垂直居中时,最好使用表格(在大多数情况下,这是唯一的跨浏览器兼容解决方案)

您可以使用

“文本对齐:中心”  

 “垂直对齐:中间”
于 2009-06-08T08:10:27.497 回答
1

我认为最好的方法是将元素包含在块级元素中并执行以下操作:

.innerElement {margin:0 auto}

鉴于它们都是没有 float 参数的块级元素,它应该工作得很好!

于 2009-08-22T03:53:44.440 回答
1

这是一个很好的解决方法,可以使没有宽度的 div 居中

是无表的,可以在任何浏览器中工作!

于 2010-05-14T02:06:07.097 回答
0

使用内联 CSS 试试这个:

<p style="text-align: center;">Lorem ipsum dolor sit amet</p>

或者只使用 HTML

<p align="center">Lorem ipsum dolor sit amet</p>
于 2009-06-08T07:54:42.270 回答
0

如果 div 设置了宽度,那么你只需要

.myDiv { 文本对齐:中心;}

也听听加里的评论。在任何情况下都不要使用内联 CSS。

如果您在 div 中有其他东西要居中,这也是另一个肮脏的修复:

你总是可以:

$('.youParagraph 或 .otherContent').wrap('');

如果您在一个大型团队中工作并且关注点分离是一个问题,显然不要这样做。

我希望这会有所帮助。

于 2009-06-08T08:35:33.733 回答
0

嗯,自动边距需要设置宽度,因为默认情况下是块级元素,例如

将扩展到整个可用宽度。

如果你不支持 IE < 8 你可以设置 { display: table; 边距:0 自动;}

否则,如果您的元素被块级元素包围,您可以执行 p { display: inline-block; } p { 显示:内联;} html > /**/ body p { display: inline-block; } (最后两条规则适用于 IE 并为健全的浏览器重置 IE 修复)之后,应用 { text-align: center; } 在容器上。

正如有人已经提到的,请参阅http://haslayout.net/css-tuts/Horizo​​ntal-Centering了解更多信息。

干杯! Zoffix Znet

于 2009-08-22T03:43:18.923 回答