找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2295|回复: 0

[CSS] 用纯CSS水平和垂直居中布局常见方案

[复制链接]

262

主题

124

回帖

9

广播

业务站长

积分
166
泰拉
180
水晶
2
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2019-11-18 22:00:03 | 显示全部楼层 |阅读模式
css垂直居中,如果兼容各个浏览器的话,我还没有见过。
在百度里面搜了很多,代码都不健壮,最终都是用js来实现的。
首先,我们来了解水平居中,它有很多种方法,我们暂时先来了解其中的几种:

1. 在实现方案中,我们最熟悉的莫过于给元素定义一个宽度,然后使用margin:
  1. body{
  2. width:960px;
  3. margin:0 auto;
  4. }
复制代码

这个是当我们的定义元素的宽度时显现的,如果我们不能定义宽度时,该怎么办呢?

2. 我们对于定位也是常用的,在这里当然也可以采用定位的方法来实现:
  1. body{
  2. position:absolute;
  3. left:50%;
  4. }
复制代码


3. 既然定位可以,那浮动也是可以的:
  1. body{
  2. float:left;
  3. right:50%;
  4. }
复制代码


4. 对于几个元素同时居中在一条线上
  1. body{
  2. vertical-align:middle;
  3. }
复制代码


5. 利用table:
  1. ul{
  2. display:table;
  3. }
  4. ul li{
  5. display:table-cell;
  6. }
复制代码


6. 还可以使用inline-block来实现,但要使用这个就得在其父元素上设置text-align.如下:
  1. body{
  2. text-align:center;
  3. }
  4. .content{
  5. display:inline-block;
  6. }
复制代码


实现垂直居中的四种方法:

1. 只能是单行文本居中(可适用于所有浏览器):
  1. .content{
  2. height:100px;
  3. line-height:100px;
  4. }
复制代码


2. 跟水平居中一样,垂直也可以用定位的方法:
  1. .content{
  2. position:absolute;
  3. top:0;
  4. bottom:0;
  5. left:0;
  6. right:0;
  7. margin:auto;
  8. }
复制代码

或者
  1. .content{
  2. position:absolute;
  3. top:50%;
  4. }
复制代码

定位的方法,它的缺点是当没有足够的空间时,元素会消失。

3. 对此,浮动也是可以的:
  1. .content{
  2. float:left;
  3. height:50%;
  4. margin-bottom:-120px;
  5. }
  6. .footer{
  7. clear:both;
  8. height:240px;
  9. position:relative;
  10. }
复制代码

对于浮动,我们需要在之后清除,并显示在中间。

4. 也可以使用vertical-align属性:
  1. .content{
  2. display:table-cell;
  3. vertical-align:middle;
  4. }
复制代码

这种方法可以随意改变元素高度,但在IE8中无效。
现在来看个div模块在屏幕中居中的例子:
  1. position: absolute; top: 50%; left: 50%; //上下移动屏幕的50%
  2. margin: auto;
  3. -webkit-transform: translate(-50%,-50%); //减去自身的50%(多移动的)
  4. -ms-transform: translate(-50%,-50%);
  5. transform: translate(-50%,-50%);
复制代码

这个基本可以不确定宽高的模块居中,但是在低版本的浏览器中可能出现问题,现在还没测试过,但是主流的都是可以的!
慵懒~慵懒~
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-19 16:56 , Processed in 0.118911 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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