<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>居中大法</title>
<style>
.item {
width: 200px;
height: 200px;
float: left;
margin: 20px;
position: relative;
border: 1px solid black;
}
.item div{
width: 100px;
height: 100px;
background: red;
}
/*第一种
* good:兼容所有浏览器
* bad:必须知道元素具体宽高
*/
.div1{
position: relative;/*absolute也可*/
left: 50%;
top: 50%;
margin-left: -50px;
margin-top: -50px;
}
/*第二种
* good:可以不知元素具体宽高,适合所有移动端
* bad:ie8以下不支持
*/
.div2{
position: absolute;/*fixed也可*/
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
/*第三种
* good:可以对不确定高度的元素垂直居中,适合所有移动端
* bad:ie9以下不支持 当前容器必须知道具体高度
*/
.div3{
width: 200px;
height: 200px;
display: table-cell;
text-align: center;
vertical-align: middle;
}
.div3 img{
width: 100px;
height: 100px;
} /*第四种
* good:可以对不确定高度的元素垂直居中,适合所有移动端
* bad:ie9以下不支持 父元素加个display:table,实现类table
*/
.div4{
width: 200px;
height: auto;
display: table-cell;
text-align: center;
vertical-align: middle;
}
.item .inner-table{
width: 100%;
height: 100%;
display: table;
}
.div4 img{
width: 100px;
height: 100px;
} /*第五种
* good:文本水平垂直居中
* bad:只适用单行文本
*/
.item .div5{
width: 200px;
height: 200px;
line-height: 200px;
text-align: center;;
} /*第六种
* good:可以对多个元素元素垂直居中,适合所有移动端,可以未知宽高
* bad:ie9以下不支持
*/
.div6{
width: 200px;
height: 200px;
display: -webkit-box;/*弹性盒子模型*/
-webkit-box-pack: center;
-webkit-box-align: center;
}
.div6 img{
display: block;
width: 100px;
height: 100px;
}
/*第七种
* good:适合所有移动端,适用未知高度
* bad:ie9以下不支持
*/
.div7{
position: relative;/*absolute也可*/
left: 50%;
top: 50%;
-webkit-transform:translate(-50%,-50%); /* Safari 和 Chrome */
-moz-transform:translate(-50%,-50%); /* Firefox */
-ms-transform:translate(-50%,-50%); /* IE 9 */
-o-transform:translate(-50%,-50%);
}
/*第八种
* good:适合所有浏览器,适用未知高度
* bad:null
*/
.item .div8{
width: 100%;
height: 100%;
text-align: center;
}
.div8:before{
height: 100%;
display: inline-block;
vertical-align: middle;
background: blue;
content: '';
}
.center{
border: 1px solid blue;
display: inline-block;
vertical-align: middle;
line-height: 100px;
}
/*第九种
* good:可以对多个元素元素垂直居中,可以未知宽高
* bad:安卓的原生浏览器不支持,能够正常显示模块,文档流依次排列;UC浏览器不支持,显示为空白;微信浏览器不支持
*/
.item .div9{
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
}
.div9 img{
display: block;
width: 50px;
height: 60px;
}
</style>
</head>
<body>
<div class="item">
<div class="div1"></div>
</div>
<div class="item">
<div class="div2"></div>
</div>
<div class="item">
<a class="div3">
<img src="img/1.jpg" alt="img">
</a>
</div>
<div class="item">
<div class="div5">我要居中</div>
</div>
<div class="item">
<a class="div6">
我要居中<img src="img/1.jpg" alt="img">
</a>
</div>
<div class="item">
<div class="div7"></div>
</div>
<div class="item">
<div class="div8">
<div class="center">我要居中</div>
</div>
</div>
<div class="item">
<div class="div9">
<img src="img/1.jpg" alt="img">
<img src="img/1.jpg" alt="img">
</div>
</div>
</body>
</html>

各位前端伙伴肯定还有其他的水平垂直居中方式,欢迎回复讨论!!!

												

最新文章

  1. 深入理解Spring--动手实现一个简单的SpringIOC容器
  2. 加密狗的管理层API(C#代码)
  3. 关于int,integer初始值问题
  4. IE 文档模式
  5. Request.Form()的使用
  6. kvm虚拟机virt-manager启动报错
  7. Dijkstra最短路径算法
  8. protocol buffer 整数序列化
  9. LCD 和 LED 的区别?
  10. jsp 多条记录提交
  11. js动态加载控件jsp页面
  12. HTML5分析实战WebSockets一个简短的引论
  13. 欧几里德算法及其扩展(推导&amp;&amp;模板)
  14. AI(三):微信与luis结合(上)
  15. Hibernate入门(三)
  16. Android View框架总结(三)View工作原理
  17. SpringCloud系列十二:SpringCloudSleuth(SpringCloudSleuth 简介、SpringCloudSleuth 基本配置、数据采集)
  18. tab切换的效果——仿照今日头条APP的切换效果
  19. internet信息服务(iis)无法删除的解决方法
  20. 26. SpringBoot 初识缓存及 SimpleCacheConfiguration源码解析

热门文章

  1. 2、jQuery选择器
  2. RelativeLayout与LinearLayout的比较
  3. Opengl ES 1.x NDK实例开发之六:纹理贴图
  4. Oracle 导入导出SQL 查看登录用户表个数
  5. spring bean parent属性详解
  6. MAC OS X 10.8 操作远程SSH服务器 + 无密码输入使用SSH服务器
  7. iOS应用程序开发之应用间的跳转
  8. VMware配置网络的3种方式:NAT、Host-Only、Bridged
  9. mysql 查询锁,解锁语句
  10. javascript跨域訪问探索之旅