我试图让这个<div>
我必须在页面上居中但是当我使用时align=center
,div内的一些内容也会受到影响。有没有办法防止这种情况?
问问题
135 次
3 回答
6
您可以使用 CSS(也必须指定 div 的宽度,请参阅 @j08691 评论):
div { margin: 0 auto; }
div
应更改为更具体的选择器,例如容器的 ID(#
表示 ID)或类(.
表示类)。
例子:
#myDivID {}
.myDivClass {}
这样做的原因是渲染引擎总是试图优化和平衡任何指定为auto
. 在这里,margin: 0 auto
简写为:
margin-top: 0;
margin-bottom: 0;
margin-left: auto;
margin-right: auto;
在这里,浏览器不会在 的顶部和底部应用任何边距div
,但是当它看到左右边距都设置为 时auto
,它会尝试(并成功)通过拆分剩余的边距使它们彼此相等空间。这导致div
被推到页面的中心。
于 2013-09-18T15:47:04.890 回答
0
使用纯 CSS:
#content {
width: 10% ;
margin-left: auto ;
margin-right: auto ;
left: 45%;
top : 50%;
}
或者
div { margin: 0 auto; }
这可以接受吗?
于 2013-09-18T15:48:28.593 回答
0
请看这个,这应该可以解决您的问题
HTML
<div id="outer">'
dsadkjahdkjasgud
dbsudbasjdhbasjkdh<br />
dbsudbasjdhbasjkdh<br />
<div id="innerCenter">
dbsudbasjdhbasjkdh<br />
dbsudbasjdhbasjkdh<br />
dbsudbasjdhbasjkdh<br />dbsudbasjdhbasjkdh<br />
</div>
</div>
CSS
#outer{
width : 500px;
background-color:green;
}
#innerCenter{
margin:0 auto;
width : 50%;
background-color:red;
}
**注意:您可以根据您的布局修改宽度
小提琴:http: //jsfiddle.net/aasthatuteja/zKstw/
于 2013-09-18T15:54:25.737 回答