如果我事先不知道宽度是多少,如何将某些东西居中?
我试图将段落标签与 div 中的一些文本居中,但我似乎无法使用 margin: 0 auto 将其居中,而无需为段落指定固定宽度。 我不想指定固定宽度,因为我会将动态文本放入段落标记中,并且根据文本的数量,它始终会具有不同的宽度。
有谁知道如何在 div 内将段落标签居中,而无需指定段落的固定宽度或不使用表格?
I am trying to center a paragraph tag with some text in it within a div, but I can't seem to center it using margin: 0 auto without having to specify a fixed width for the paragraph. I don't want to specify a fixed width, because I will have dynamic text coming into the paragraph tag and it will always be a different width based on how much text it is.
Does anyone know how I can center the paragraph tag within the div without having to specify a fixed width for the paragraph or without using tables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
使用内联 CSS 尝试此操作:
或仅使用 HTML
Try this using inline CSS:
Or using just HTML
如果 div 设置了宽度,那么您需要的只是
.myDiv { text-align:center; 还
听听加里的评论。 在任何情况下都不要使用内联CSS。
如果你在 div 中有其他内容到中心,还有另一个肮脏的修复:
你总是可以:
$('.youParagraph or .otherContent').wrap('');
如果您在一个大型团队中工作并且关注点分离是一个问题,显然不要这样做。
我希望这有帮助。
if the div has set width all you need is
.myDiv { text-align:center; }
Also listen to garry's comment. under no circumstances use inline css.
Also another dirty fix for this in case you have other stuff in the div to centre:
you can always:
$('.youParagraph or .otherContent').wrap('');
Obviously do not practice this if you work within a large team and separation of concerns is an issue.
I hope this helped.
嗯,自动边距需要设置宽度,因为默认情况下块级元素,例如
会扩展到整个可用宽度。
如果您不支持 IE < 8 你可以设置 { display: table; 保证金:0 自动; 否则
,如果您的元素被块级元素包围,您可以执行 p { display: inline-block; } p { 显示:内联; } html> /**/ body p { 显示:内联块; (最后两条规则适用于 IE 并为正常浏览器重置 IE 修复)之后,应用 { text-align: center; } 在容器上。
正如有人已经提到的,请参阅 http://haslayout.net/css-tuts/Horizontal-Centering< /a> 了解更多信息。
干杯!
佐菲克斯网络
Eh, auto margins need set width since by default block-level element, such as
would expand onto whole available width.
If you're not supporting IE < 8 you could just set { display: table; margin: 0 auto; }
Otherwise, if your element is surrounded by block-level elements, you could do p { display: inline-block; } p { display: inline; } html > /**/ body p { display: inline-block; } (last two rules are for IE and resetting IE fix for sane browsers) after that, apply { text-align: center; } on the container.
As someone mentioned already, see http://haslayout.net/css-tuts/Horizontal-Centering for more info.
Cheers!
Zoffix Znet
以下是如何使用样式表来完成此操作。
样式表:
HTML:
Here's how to do it using a style sheet.
Style sheet:
HTML:
找到了这个:以未知宽度居中块级内容。
Found this: Centering Block-level Content With Unknown Width.
除了“text-align”属性
用于将块元素(如div)中的元素居中
之外,还使用CSS,如
下面发布的内容
当垂直居中时,最好使用表格(在大多数情况下,这是唯一的跨浏览器兼容的解决方案
)可以使用
Besides "text-align" property
for centering elements inside block elements like div
use css like
something like what is posted below
When vertically-centering, its better to use Tables (this in most cases is the only the cross-browser compatible solution )
you can use
我认为最好的方法是将元素包含在块级元素中并执行以下操作:
鉴于它们都是没有 float 参数的块级元素,它应该工作得很好!
I think the best method is to contain the element in a block level element and do:
Given they are both block level elements that don't have the float parameter, it should work great!
这是 将 a 居中的一个很好的解决方法没有宽度的 div。
是无表的并且可以在任何浏览器中工作!
here a nice workaround for centering a div with no width.
is tableless and is working in any browser!