水平居中 div
在此页面上,我想将主#container div相对于页面水平居中。通常我会通过添加 CSS 规则来实现此目的,
#container { margin: 0 auto }
但是,此页面的布局(我没有编写)对 #container 及其大多数子元素使用绝对定位,因此此属性没有效果。
有什么方法可以实现这种水平居中而不重写布局以使用静态定位?如果这是实现我的目标的唯一方法,那么使用 JavaScript/JQuery 没有问题。
On this page, I would like to horizontally center the main #container div relative to the page. Normally I would achieve this by adding a CSS rule,
#container { margin: 0 auto }
However, the layout of this page (which I did not write), uses absolute positioning for #container and most of its child elements, so this property has no effect.
Is there any way I can achieve this horizontal centering without rewriting the layout to use static positioning? I've no problem with using JavaScript/JQuery if that's the only way to achieving my objective.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
与 @rquinn 答案相同,但这将调整为任何宽度。检查此演示
http://jsfiddle.net/Starx/V7xrF/1/
HTML:
CSS:
JavaScript
Same as @rquinn answer but this will adjust to any width. Check this demo
http://jsfiddle.net/Starx/V7xrF/1/
HTML:
CSS:
Javascript
您也可以使用 jQuery:
然后我将此代码放在
$(document).ready
事件之后:You can use also use jQuery:
Then I put this code after the
$(document).ready
event:容器宽度是1024px,所以你可以尝试给left值50%和margin-left:-512px。
the container width is 1024px, so you can try to give a left value 50% and margin-left: -512px.
使用 Javascript,这会将 #container 置于浏览器窗口的中心。
Using Javascript, this will put #container at the center of your browser's window.
如果您的主容器使用绝对位置,您可以使用此 CSS 将其水平居中;
If your main container is using
absolute
position, you can use this CSS to center it horizontally;这很简单。
试试这个
It's simple.
Try this
这种方式最适合我。不改变边距,但改变位置。
必需的:
对象->左边距:0;位置:相对;
检查此处的示例: jsfiddle
代码:
用途:
它可以在任何容器内居中。
This way worked best for me. Without changing margins, but the position.
Required:
object -> margin-left: 0; and position: relative;
check example here: jsfiddle
Code:
Use:
It can be centered within any container.