您当前位于:
HTML+CSS ——> CSS实现水平垂直居中 - 你可能不知道的其他方法
CSS实现水平垂直居中 - 你可能不知道的其他方法
2015/08/07 17:35:35
|
作者:HTML5学堂(码匠)
|
分类:HTML+CSS
|
关键词:CSS,水平垂直,居中,float
CSS实现水平垂直居中-其他方法
HTML5学堂:最近给大家分享了许多水平垂直居中的方法,大家可以感受到,知识点虽然少,但是结合在一起的话,就出现了许多实现方法,可以总结出一句话:理解原理,重在灵活应用。不多说了,赶紧来看看其他的实现方法吧。
欢迎沟通交流~HTML5学堂
利用text-align让块元素实现水平垂直居中
-
<!doctype html>
-
<html>
-
<head>
-
<meta charset="UTF-8">
-
<title>HTML5Course - 梦幻雪冰</title>
-
<link rel="stylesheet" href="reset.css">
-
<style>
-
.wrap {
-
width: 400px;
-
height: 300px;
-
padding-top: 100px;
-
background-color: skyblue;
-
text-align: center;
-
}
-
.con {
-
/*展示特性转换成行块元素的展示特性*/
-
display: inline-block;
-
width: 200px;
-
height: 200px;
-
background: url("https://mmbiz.qlogo.cn/mmbiz/p6DwiaCENIB6pR8GhsfVeo7382t1SicdA8iahVpBPSRMaFPaHHLXuyXvkryL43R4GuLMOrhVvDFwwfprmH9f9EgVg/0?wx_fmt=jpeg") no-repeat;
-
background-size: 100%;
-
}
-
</style>
-
</head>
-
<body>
-
<div class="wrap">
-
<div class="con"></div>
-
</div>
-
</body>
-
</html>
效果
float布局的水平垂直居中
-
<!doctype html>
-
<html>
-
<head>
-
<meta charset="UTF-8">
-
<title>HTML5Course - float布局的水平垂直居中</title>
-
<link rel="stylesheet" href="reset.css">
-
<style>
-
.wrap {
-
width: 400px;
-
height: 400px;
-
background-color: skyblue;
-
}
-
.wrap .outer {
-
/*设置浮动的目的是由内容撑开宽高*/
-
float: left;
-
/*设置相对定位*/
-
position: relative;
-
left: 50%;
-
top: 50%;
-
}
-
.inner {
-
position: relative;
-
left: -50%;
-
/*top:50%是不生效的,因为如果没给父元素设置高度,这个50%是计算不出来的, 所以用transform : translate3d(0, -50%, 0)。(参考大搜车前端博客)*/
-
/*top: -50%;*/
-
background-color: #999;
-
color: #fff;
-
transform : translate3d(0, -50%, 0);
-
}
-
</style>
-
</head>
-
<body>
-
<div class="wrap">
-
<div class="outer">
-
<div class="inner">HTML5学堂、刘国利、陈能堡</div>
-
</div>
-
</div>
-
</body>
-
</html>
效果
优缺点
原理与CSS实现元素水平垂直居中-网易NEC方法类似。这种方法的优点是元素可以不定宽,任何时候都可以做到居中,不足之处就是当居中元素的父元素left:50%时,如果元素宽度足够大,会超出外面的容器。
display: flex的水平垂直居中
-
<!doctype html>
-
<html>
-
<head>
-
<meta charset="UTF-8">
-
<title>HTML5Course - HTML5学堂</title>
-
<link rel="stylesheet" href="reset.css">
-
<style>
-
.wrap {
-
/*多栏多列布局*/
-
display: -webkit-box;
-
display: -webkit-flex;
-
display: -ms-flexbox;
-
display: flex;
-
/*设置弹性盒子元素在纵轴方向上的对齐方式。*/
-
/*center意思是弹性盒子元素在该行的纵轴上居中放置*/
-
align-items: center;
-
/*设置弹性盒子元素在主轴方向上的对齐方式。*/
-
justify-content: center;
-
width: 400px;
-
height: 400px;
-
background-color: pink;
-
}
-
.box {
-
background-color: skyblue;
-
}
-
</style>
-
</head>
-
<body>
-
<div class="wrap">
-
<div class="box">
-
HTML5学堂、刘国利、陈能堡
-
</div>
-
</div>
-
</body>
-
</html>
效果
支持程度
相关文章推荐
CSS实现元素水平垂直居中
CSS实现元素水平垂直居中 - 网易方法
CSS实现元素水平垂直居中 - CSS3 calc方法
欢迎沟通交流~HTML5学堂
阅读:1859