找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1255|回复: 0

div+css:页面整体布局居中显示:上下居中||垂直居中,左右居中||水平居中

[复制链接]
发表于 2013-4-2 16:53:34 | 显示全部楼层 |阅读模式 来自 中国–北京–北京
问题出现的场景:(废话一堆)
登陆页面,qa测试时跟美工提议居中显示,但是美工最开始布局时没做到这点。
美工姐姐最开始的布局是:
banner padding-top 40px,然后设置main与banner的margin=0。
这样banner和main部分看起来是一个整体,整体距离浏览器上部分40px。
如何实现整体居中显示:
如果要实现整体页面上下居中,它们俩必须得是一个整体。我便在<body>标签中加了个class,使body中的两部分真正包含在一个整体中。接下来对这个整体<body class="mainLayout">进行设置:

[code=Css width=600px].mainLayout {
    position:absolute;
    left:50%;
    top:50%;
    width:910px;
    margin-top:-270px;
    margin-left: -455px; /*455为整体width910的一半*/
}
[/code]

这是使用绝对定位和负margin值实现的。
left:50% 会让整个mainlayout容器从浏览器水平方向的中点开始往右显示,此时浏览器左边的一半是空的。
然后设置 margin-left为mainlayout容器的一半,设置为负值是让容器能再向左移动,也就是将整个容器从浏览器中点往左边挪动它(mainlayout容器)本身的一半。这样mainlayout容器刚好就能够左右居中显示了。
上下居中显示的原理一样:先top:50%让容器从垂直方向的中点向下显示,上面空出一半。然后再向上移动mainlayout容器的一半,使之垂直居中。
这样子的实现貌似兼容所有浏览器哦~(我自测了chrome ff ie7-10)
小结:
之前大概知道这个方法,但没有弄明白原理。今天碰到了这个任务,也终于看懂了,就索性废话一堆的记录下来,为那些和我一样糊里糊涂的孩子。(*^__^*)

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-24 22:20 , Processed in 0.038050 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表