元素水平垂直居中的方式

元素分为行内元素和块级元素,行内元素有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 3D位移translate效果实例介绍
May 03 HTML / CSS
CSS3 Backgrounds属性相关介绍
May 11 HTML / CSS
CSS类名支持中文命名的示例
Apr 04 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
Nov 17 HTML / CSS
html5组织文档结构_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
Jun 03 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
Apr 22 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
Sep 11 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/02/08 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP递归创建多级目录
2015/11/05 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
javascript列表框操作函数集合汇总
2013/11/28 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
layui使用label标签的方法
2019/09/14 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
python修改字典内key对应值的方法
2015/07/11 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
垃圾桶标语
2014/06/24 职场文书
美术社团活动总结
2014/06/27 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
投资申请报告
2015/05/19 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书