元素水平垂直居中的方式

元素分为行内元素和块级元素,行内元素有1种方式设置元素垂直居中;块级元素有4种方式设置元素垂直居中。

Posted in HTML / CSS onMarch 31, 2021

行内元素

  1. 通过为父元素设置text-align、line-height属性实现元素垂直居中
.box{
	width:500px;
	height:100px;
	border:1px solid #333;
	line-height:100px;
	text-align:center;
}
<div class="box">
	<span>content</span>
</div>

块级元素

  1. 通过设置子元素的绝对定位和margin属性实现元素垂直居中(减去自身宽度高度的一半)
.box{
    width: 500px;
    height: 500px;
    border: 1px solid #333;
    position: relative;
}
.box div{
    width: 100px;
    height: 100px;
    border: 1px solid #333;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -50px;
    margin-top: -50px;
}
<div class="box">
	<div></div>
</div>
  1. 通过设置父元素flex弹性布局的方式实现元素垂直居中(项目在主轴上的对齐方式为居中,项目在交叉轴上对齐方式为居中)
.box{
    width: 500px;
    height: 500px;
    border: 1px solid #333;
    display: flex;
    justify-content: center;
    align-items: center;
}
.box div{
     width: 100px;
     height: 100px;
     border: 1px solid #333;
}
<div class="box">
        <div></div>
</div>
  1. 通过设置子元素的绝对定位和transform属性实现元素垂直居中(往x轴、y轴分别移动自身宽度和高度的50%)
.box{
    width: 500px;
    height: 500px;
    border: 1px solid #333;
    position: relative;
}
.box div{
    width: 100px;
    height: 100px;
    border: 1px solid #333;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
<div class="box">
	<div></div>
</div>
  1. 通过设置子元素的绝对定位和margin属性实现元素垂直居中(不存在兼容性问题,自适应宽高)
    原理
    设置margin:auto分配左右的剩余空间,所以元素可以水平居中;设置绝对定位,此时margin-top、margin-bottom从默认为0变成auto,设置top、right、bottom、left为0将找到父元素的位置(给浏览器重新分配一个边界框),填充其父元素的所有可用空间,margin垂直方向有了可分配的空间,所以此时元素可以垂直居中。
.box{
    width: 500px;
    height: 500px;
    border: 1px solid #333;
    position: relative;
}
.box div{
     width: 100px;
     height: 100px;
     border: 1px solid #333;
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     margin: auto;
}
<div class="box">
	<div></div>
</div>
HTML / CSS 相关文章推荐
使用CSS3实现字体颜色渐变的实现
Mar 09 HTML / CSS
50个强大璀璨的CSS3/JS技术运用实例
Feb 27 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
CSS3正方体旋转示例代码
Aug 08 HTML / CSS
css sprite简单实例
May 23 HTML / CSS
html Table 表头固定的实现
Jan 22 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
Oct 15 HTML / CSS
用HTML5制作烟火效果的教程
May 12 HTML / CSS
浅谈移动端网页图片预加载方案
Nov 05 HTML / CSS
html5表单的required属性使用
Jul 07 HTML / CSS
css3应用示例:新增的选择器
Mar 16 HTML / CSS
HTML实现仿Windows桌面主题特效的实现
Jun 28 HTML / CSS
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
简单实现一个手持弹幕功能+文字抖动特效
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
css3 filter属性的使用简介
Mar 31 #HTML / CSS
使用canvas实现雪花飘动效果的示例代码
You might like
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP文件上传类实例详解
2016/04/08 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JavaScript中Function详解
2015/02/27 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
Python字符串格式化
2015/06/15 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python库安装速度过慢解决方案
2020/07/14 Python
python中取绝对值简单方法总结
2020/07/24 Python
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
环保建议书600字
2014/05/14 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书