Css实现垂直水平居中的六种方法_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:43:07
原创
1453人浏览过

经常在项目中用到,今天总结了一下:

 

与光AI
与光AI

一站式AI视频工作流创作平台

与光AI 66
查看详情 与光AI

演示地址:http://codepen.io/anon/pen/xGdpOa

 

以下两个类为公共类,便于更好的显示效果,非核心代码

立即学习前端免费学习笔记(深入)”;

 

	.common{		width: 600px;height: 180px;		background-color:#56abe4;		color: #fff;		margin: 15px auto; 		border-radius: 3px;	   }	.con{		display: inline-block;		padding: 15px;		width: 160px;		height: 80px;		background-color: orange;	}
登录后复制

 

  

 

正文部分:

第一种方法:

/*position: absolute;top:0;right: 0;bottom: 0;left: 0;margin: auto;*/

 

 

HTML结构:

 

<div class="common block1">	<div class="inner1 con">		position: absolute;		top:0;right: 0;bottom: 0;left: 0;		margin: auto;	</div></div>
登录后复制

 

 

CSS部分:

		.block1{		position: relative;	}	.inner1{		position: absolute;		top:0;right: 0;bottom: 0;left: 0;		margin: auto;	}
登录后复制

 

第二种方法: 

/*display: table-cell*/

HTML结构:

 

<div class="common block2">   	<div class="con">		display: table-cell;		text-align: center;		vertical-align: middle;	</div></div>
登录后复制

 

 

CSS部分: 

.block2{		display: table-cell;		text-align: center;		vertical-align: middle;	}
登录后复制

  

第三种方法:

 

 

/*display: flex;*/

HTML结构:

 

<div class="common block3">	<div class="con">  display: flex;  align-items: center;  justify-content: center;	</div></div>
登录后复制

 

 

CSS部分:

	.block3{		display: flex;		align-items: center;		justify-content: center;	}
登录后复制

  

 第四种方法:

  /*负定位*/

HTML结构:

<div class="common block4">	<div class="inner4 con">	   position: absolute;		top: 50%;		left: 50%;        并利用负定位消除元素的上下,左右偏移	</div></div>
登录后复制

 

CSS部分:

	.block4{               position: relative;	}	.inner4{		position: absolute;		top: 50%;		left: 50%;		margin-top: -55px;/*80/2+15=55*/                margin-left: -95px;/*160/2+15=95*/	}
登录后复制

  

 第五种方法:

 /*transform*/

HTML结构:

<div class="common block5">	<div class="inner5 con">		position: absolute;		top: 50%;		left: 50%;        transform:translate(-50%,-50%);	</div></div>
登录后复制

CSS部分:

	.block5{                position: relative;	}	.inner5{		position: absolute;		top: 50%;		left: 50%;                transform:translate(-50%,-50%);                word-wrap: break-word;	}
登录后复制

  

第六种方法:(兼容性较好)

/*行内块*/

HTML结构:

<div class="common block6">	<div class="inner6 con">行内块:<br/>谨记span标签与该div之间是没有空白的,否则会产生误差</div><span></span></div>
登录后复制

CSS部分:

	.block6{ text-align:center;}	.inner6,.block6 span{	 display:inline-block;	 *display:inline;	 zoom:1;    	 vertical-align:middle;		}	.inner6{max-width:100%;max-height:100%;}	.block6 span{width:0;height:100%;}
登录后复制

 

以上几种方案存在兼容性问题,在使用时请先查询核心css的浏览器兼容情况,查询地址:http://caniuse.com/

 

以上。

 

欢迎补充~

 

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号