源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 155|回复: 14

[CSS] div+css垂直居中的五种实现方法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2014-9-12 10:16:09 | 显示全部楼层 |阅读模式
之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少。不过最近有人问了几个例子。现在就把我经验拿出来分享一下,希望大家鼓鼓掌。

方法一:把一些 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 值就可以使文本居中了。这个就不用实例了,您你看就明白;

回复

使用道具 举报

1

主题

2万

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2023-1-27 04:47:48 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

347

积分

中级会员

Rank: 3Rank: 3

积分
347
发表于 2023-1-31 14:25:29 | 显示全部楼层
逛逛看看瞧瞧
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2023-5-30 08:02:13 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

61

积分

注册会员

Rank: 2

积分
61
发表于 2023-8-27 01:56:58 | 显示全部楼层
66666666666
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

186

积分

注册会员

Rank: 2

积分
186
发表于 2024-3-22 22:05:47 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2024-4-26 14:22:48 | 显示全部楼层
看到这帖子真是高兴!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-5-18 05:43:25 | 显示全部楼层
还不错啊
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-21 13:49:43 | 显示全部楼层
有什么好的服务器
回复 支持 反对

使用道具 举报

11

主题

1万

回帖

103

积分

注册会员

Rank: 2

积分
103
发表于 2024-8-6 01:47:07 | 显示全部楼层
而非为吾问无为谓娃娃
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-22 16:52 , Processed in 0.121218 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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