关灯
开启左侧

[网页制作] div+css垂直居中的五种实现方法

[复制链接]
swmozowtfl 发表于 2015-7-9 23:15:22 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
方法一:把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align属性。
结构效果如下:
css
代码如下:
div#wrapper {
display: table;
width: 500px;
height: 500px;
background-color: #c00;
}
div#row {
display: table-row;
}
div#cell {
display: table-cell;
vertical-align: middle;
}
html
代码如下:
<div id=wrapper>
<div id=row>
<div id=cell>
if you want to sell sugar water for the rest of my life or want a chance to change the world
</div>
</div>
</div>
优点:不用受内容高度的限制,简单实现垂直居中;
缺点:不兼容ie6,7
方法二:这个方法使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。这意味着对象必须在 css 中指定固定的高度。
结构效果如下:
css
代码如下:
div#wrapper {
position: relative;
width: 500px;
height: 500px;
background-color: #c00;
}
div#content {
position: absolute;
top: 50%;
left: 0;
width: 400px;
height: 300px;
margin-top: -150px;
background-color: pink;
}
html
代码如下:
<div id=wrapper>
<div id=content>
</div>
</div>
优点:兼容性好
缺点:必须知道内容盒子的高度才可以,有了这点限制;
方法三:这个方法和方法二的原理是一样的。废话不多说看代码
css
代码如下:
.wrap {
height: 500px;
width: 500px;
background-color: pink;
}
.additional {
height: 50%;
margin-bottom: -120px;
}
#content {
height:240px;
width:70%;
background-color: #000;
}
html
代码如下:
<div class=wrap>
<div class=additional></div>
<div id=content>
</div>
</div>
优缺点和法二一样,缺点嘛多了个额外的标签;
方法四:这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。
结构效果如下:
css
代码如下:
#content {
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
height:240px;
width:70%;
background-color: #000;
}
html
代码如下:
<div id=content>
content here</div>
优点:非常简单
缺点:不兼容ie6,7
方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。这个就不用实例了,您你看就明白;

更多网页制作信息请查看: 网页制作
 

精彩评论8

正序浏览
wwdu926a 发表于 2016-1-19 19:43:48 | 显示全部楼层
 
杂觉滴~` 你~~` 嘿嘿 这个想法不该从你的脑瓜儿出来拉~`
 
buingeEvineus 发表于 2016-1-19 19:43:48 | 显示全部楼层
 
什么啊
 
gevaemaidovef 发表于 2016-1-19 19:44:32 | 显示全部楼层
 
老大,我好崇拜你哟
 
seazvyt 发表于 2016-2-23 18:41:14 | 显示全部楼层
 
小手一抖,经验到手!手拿酱油,低头猛走!酱油党路过,杜绝零回复
 
alapScady 发表于 2016-2-23 18:41:32 | 显示全部楼层
 
不为楼主的标题所吸引,也不是被贴子的内容所迷惑。
 
seazvyt 发表于 2016-2-23 18:41:54 | 显示全部楼层
 
本人是文盲,以上内容文字均不认识,也看不懂是什么意思.
 
Acropozelan 发表于 2016-2-23 18:42:44 | 显示全部楼层
 
我又回复了
 
alapScady 发表于 2016-2-23 18:42:50 | 显示全部楼层
 
俺灌的不是水,是寂寞啊!
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

2503帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )