我已经看到了几种使用CSS创建简单固定宽度单列布局的方法。我喜欢显示here的那个,因为涉及的代码很少,并且它适用于我尝试的每个浏览器。
#container {
margin: 0 auto;
width: xxxpx;
text-align: left;
}
<body>
<div id="container">
...entire layout goes here...
</div>
</body>
提交人提到他受到了一些批评。我不是网络开发人员所以我想问社区他们对这种方法的看法。更具体地说,是否有更好/更兼容的方法来实现这一目标?
答案 0 :(得分:16)
“margin:0 auto”是执行此操作的最佳方式,您只需确保使用正确的doctype即可。我总是严格使用XHTML - 其他人也会工作。如果您没有良好的doctype,则内容将不会以IE6为中心
要实现XHTML严格doctype,请将其放在您的节点上方,作为页面的第一行:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
答案 1 :(得分:2)
margin: 0 auto;
(或margin-left: auto; margin-right: auto;
)确实是最简单的方式。并且坚持使用内容集中内容确实没有问题。
我认为宽度标记应为max-width: xxxpx
。对于那些宽度为360px或更小的移动浏览器的用户而言,他们只需获得适合其屏幕大小的容器的最大尺寸(但是你的内部布局也必须优雅地扩展。)另外值得注意的是{ {1}}无法在IE6上运行。
答案 2 :(得分:2)
您概述的方法是我使用的方法。我已经使用它好几年了,它没有让我失望。我想不出批评会是什么。
答案 3 :(得分:1)
margin: 0 auto;
是集中化的最佳方法。
您引用的文章作者表示,text-align: center;
需要支持IE5 / Win。我认为你可以放心地忽略这一点,因为IE5已经完全死了。
答案 4 :(得分:1)
我认为这是一个更好的解决方法。
当包含在600px宽的div id="pagebox"
内时,将整个页面的内容居中。
body { text-align:center; min-width:600px; }
#pagebox { text-align:left; width:600px; margin-left:auto; margin-right:auto; }
为min-width
指定body
与pagebox
元素本身一样宽。
当在Windows上使用Navigator 6 + / Mozilla时,这可以防止在狭窄的浏览器窗口中出现负边缘(即无法访问)左边距。
MSIE 5不会基于auto
左/右边距居中,但"text-align:center"
会将顶部div放在中心位置。
希望有所帮助
答案 5 :(得分:0)
我发现使用margin: 0 auto;
来集中元素是一种常见做法。
还在当前版本(HTML 4.01)中为<center>
are deprecated设置标记样式。
答案 6 :(得分:0)
实现这一目标的最佳方法是创建一个div,例如960px宽,然后给它{margin:0 auto;}。
我还想做的是给div一些{padding:0 15px;}。这样,居中区域实际上是990px,在1024x768显示器中仍然是完美的中心对齐,而填充为使用较小显示器或谷歌浏览器的用户提供了边缘缓冲。
更进一步,我实际上创建了一个包装器div,它占据了整个页面,然后将内容div置于其中。这让我可以利用像页脚一样的东西,无论内容长度如何,它总是粘在屏幕的底部(例如http://ryanfait.com/sticky-footer/)。
答案 7 :(得分:-8)
老实说,我只使用<center>
标签。我认为它已经过时了(你会得到一些关于它的投诉,可能取决于你的doctype)但它确实有效。
- 编辑
嗯,对此的贬低是合理可预测的,但我希望有人可以概述为什么(在迂腐之外)这不起作用;因为我的理解它适用于所有浏览器。我错了:)