CSS3实现水平居中、垂直居中、水平垂直居中的实例代码


Posted in HTML / CSS onFebruary 27, 2020

作为一个前端小猴子,不管是面试的时候还是工作中,我们都会或多或少的遇到“使用css居中”的效果,今天就写一篇关于css垂直水平居中的几种方法。

栗子1:从最简单的水平居中开始

margin: 0 auto;

块级元素使用margin: 0 auto;可以在父元素的中间位置居中,不过要记得设置块级元素的宽高。 HTML部分

<div class="wrap">
  <div class="example1">
    <p>CSS</p>
  </div>
</div>

CSS部分

.example1 {
  width: 200px;
  height: 200px;
  background-color: orange;
}
.example1 p {
  width: 100px;
  height: 100px;
  background-color: red;
  margin: 0 auto;
  line-height: 100px;
  text-align: center;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

栗子2:元素水平垂直居中

position 元素已知宽度 绝对定位+margin反向偏移

.wrap { position: relative; background-color: orange; width: 300px; height: 300px; } .example2 { background-color: red; width: 100px; height: 100px; position: absolute; left: 50%; top: 50%; margin: -50px 0 0 -50px; }

position transform 元素未知宽度 如果元素未知宽度,只需将上面 example2 中的 margin: -50px 0 0 -50px ;替换为: transform: translate(-50%,-50%) ;

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

栗子3: flex布局

HTML同上面,附 css 代码

.warp {
  background-color: #FF8C00;
  width: 200px;
  height: 200px;
  display: flex;
  justify-content: center; /*使子项目水平居中*/
  align-items: center; /*使子项目垂直居中*/
}
.example3 {
  background-color: #F00;
  width: 100px;
  height: 100px;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

另外一种就是 table-cell布局了,这个我就不介绍了,因为不想介绍。

栗子4: 绝对布局

div使用绝对布局,设置margin:auto;并设置top、left、right、bottom的值相等即可,不一定要都是0。 HTML部分

<div class="warp">
  <div class="example3">
    居中显示
  </div>
</div>

CSS部分

.warp {
  position: relative;
  background-color: orange;
  width: 200px;
  height: 200px;
}
.example3 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: red;
  width: 100px;
  height: 100px;
  margin: auto;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

栗子5:给子元素相对定位,在通过translaY()得到垂直居中

.warp {
  position: relative;
  background-color: orange;
  width: 200px;
  height: 200px;
}
.example3 {
  position: relative;
  top:50%;
  transform:translateY(-50%);
  background-color: red;
  width: 100px;
  height: 100px;
  margin: 0 auto;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

栗子6:利用inline-block的vertical-align: middle去对齐after伪元素

利用inline-block的vertical-align:middle去对齐after伪元素实现效果更加好,居中块的尺寸可以做包裹性、自适应内容,兼容性也相当好。缺点是水平居中需要考虑inline-block间隔中的留白(代码换行符遗留问题。)

.warp {
    text-align: center;
    overflow: auto;
    width: 200px;
    height: 200px;
    background-color: orange;
}
.example3 {
    display: inline-block;
    background-color: red;
    vertical-align: middle;
    width: 100px;
    height: 100px;
}

.warp:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    margin-left: -0.25em;
    /* To offset spacing. May vary by font */
}

栗子7:display: flex-box

flexbox布局。此乃布局终极大法,专治各种布局定位难题!优点:能解决各种排列布局问题.

.warp {
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  background-color: orange;
}
 
.example3 {
  width: 100px;
  height: 100px;
  background-color: red;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

图片居中的栗子1:

<div class="warp">
  <div class="example3">
    <img src="xxxx" alt="">
  </div>
</div>
.warp {
  width: 200px;
  height: 200px;
  background-color: orange;
  display: flex;
  align-items: center;
  justify-content: center;
}
.example3 img {
  width: 100px;
  height: 100px;
  background-color: blue;
}

CSS3实现水平居中、垂直居中、水平垂直居中的实例代码 

总结

到此这篇关于CSS3实现水平居中、垂直居中、水平垂直居中的实例代码的文章就介绍到这了,更多相关css3 垂直居中内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
css3 响应式媒体查询的示例代码
Sep 25 HTML / CSS
彻底弄明白CSS3的Media Queries(跨平台设计)
Jul 27 HTML / CSS
用CSS3写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
使用CSS3的::selection改变选中文本颜色的方法
Sep 29 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
Mar 17 HTML / CSS
HTML5 拖拽批量上传文件的示例代码
Mar 28 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 HTML / CSS
html5定位并在百度地图上显示的示例
Apr 27 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
Nov 14 HTML / CSS
html5开发三八女王节表白神器
Mar 07 HTML / CSS
前后端结合实现amazeUI分页效果
Aug 21 HTML / CSS
CSS中妙用 drop-shadow 实现线条光影效果
Nov 11 HTML / CSS
CSS3标注引用的出处和来源的方法
Feb 25 #HTML / CSS
CSS3关于z-index不生效问题的解决
Feb 19 #HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
Feb 14 #HTML / CSS
css3实现圆锥渐变conic-gradient效果
Feb 12 #HTML / CSS
css3翻牌翻数字的示例代码
Feb 07 #HTML / CSS
css3使用animation属性实现炫酷效果(推荐)
Feb 04 #HTML / CSS
CSS3中新增的对文本和字体的设置
Feb 03 #HTML / CSS
You might like
php入门教程 精简版
2009/12/13 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
Python中asyncore的用法实例
2014/09/29 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
pandas对指定列进行填充的方法
2018/04/11 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
网络销售员岗位职责
2015/04/11 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript