移动端常见问题水平居中和垂直居中

先准备个测试模板

<!DOCTYPE html>
<html lang="en"head>
    meta charset="UTF-8"name="viewport" content="width=device-width,initial-scale=1.0"title>Document</style>
        .bg{
            width:100%;
            height
            position fixed
            top0
            right
            bottom
            left
            background-color lightblue;
        }
        .text
            background#fff
            border-radius 5px}
    bodydiv class="bg">
        span ="text">单行文字水平垂直居中spandivhtml>

 

 

内联元素,没有设置宽高

1、自身水平垂直居中

设置padding (左右方向有效,上下方向无效)

 

 2、在容器内水平垂直居中

方法一:

            position: absolute;
            top:50%;
            left:50%;
            transform:translate(-50%,-50%);

 

 方法二:flex布局(适合移动端)

            display: flex;
            justify-content: center;
            align-items: center;

 

内联块元素,没有设置宽高

1、自身水平垂直居中

设置padding 

            display:inline-block;
            padding:30px 20px;

 

  2、在容器内水平垂直居中


            display:block;
            padding:20px 0;
            text-align: center;

 

 2、在容器内水平垂直居中

 

 设置position为absolute,相当于把元素变为了inline-block,因此宽度没有占据整行

如果需要的话,可以手动添加width


            display:inline-block;
            width:200px;
            height:100px;

1、自身水平垂直居中

单行文字可以使用line-height

            text-align:center;
            line-height:100px;

多行文字

            display: flex;
            justify-content: center;
            align-items: center;

这种是将多行文字看做一个整体水平垂直居中,因此不是每一行文字都是水平居中效果

 

 

 2、在容器内水平垂直居中


            position: absolute;
            top:50%;
            left:50%;
            margin-left:-100px;
            margin-top:-50px;

 

指定容器宽高,块元素

1、自身水平垂直居中

单行文字

            display:block;
            width:200px;
            height:100px;

            text-align:center;
            line-height:100px;

多行文字

            display: flex;
            justify-content: center;
            align-items: center;

 

2、在容器内水平垂直居中

            position: absolute;
            top:50%;
            left:50%;
            margin-left:-100px;
            margin-top:-50px;

或者


            margin:0 auto;

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码
HTML5使用DOM进行自定义控制
使用HTML5 Canvas绘制阴影效果的方法
使用PHP和HTML5 FormData实现无刷新文件上传
如何解决HTML5 虚拟键盘出现挡住输入框的问题
HTML5中div和section以及article的区别分析
html5和CSS 实现禁止IOS长按复制粘贴功能
html5 touch事件实现触屏页面上下滑动
canvas 模拟实现电子彩票刮刮乐的代码
HTML5 Plus 实现手机APP拍照或相册选择图片上传的功能
Android自定义环形LoadingView效果
HTML5 canvas绘制五角星的方法
html5使用html2canvas实现浏览器截图
使用Canvas处理图片的方法介绍
利用Canvas模仿百度贴吧客户端loading小球的方法