• (转)移动端实现垂直居中的几种方法


    转:https://www.cnblogs.com/lixiangyong/p/4784139.html

    垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加多样化。

    方法1:table-cell

    html结构:

    <div class="box box1">
        <span>垂直居中</span>
    </div>

    css:

    .box1{    
        display: table-cell;    
        vertical-align: middle;    
        text-align: center;            
    }

    方法2:display:flex

    .box2{    display: flex;    justify-content:center;    align-items:Center;}

    方法3:绝对定位和负边距

    复制代码
    .box3{
        position:relative;
    }
    .box3 span{           
         position: absolute;          
         100px;          
         height: 50px;           
         top:50%;           
         left:50%;            
         margin-left:-50px;            
         margin-top:-25px;           
         text-align: center;       
     }    
    复制代码

    方法4:绝对定位和0

    复制代码
    .box4 span{ 
          50%;   
         height: 50%;    
         background: #000; 
         overflow: auto;   
         margin: auto;   
         position: absolute;   
         top: 0; 
         left: 0;
         bottom: 0; 
         right: 0;  
    }
    复制代码

    这种方法跟上面的有些类似,但是这里是通过margin:auto和top,left,right,bottom都设置为0实现居中,很神奇吧。不过这里得确定内部元素的高度,可以用百分比,比较适合移动端。

    方法5:translate

    复制代码
    .box6 span{            
        position: absolute;            
        top:50%;            
        left:50%;            
        100%;            
        transform:translate(-50%,-50%);            
        text-align: center;        
    }
    复制代码

    这实际上是方法3的变形,移位是通过translate来实现的。

    方法6:display:inline-block

    复制代码
    .box7{  
        text-align:center;  
         font-size:0;
    }
    .box7 span{  
        vertical-align:middle;  
         display:inline-block;  
         font-size:16px;
    }
    .box7:after{ 
         content:'';  
        0;  
        height:100%; 
         display:inline-block;  
        vertical-align:middle;
    }
    复制代码

    这种方法确实巧妙...通过:after来占位。

    方法7:display:flex和margin:auto

    复制代码
    .box8{    
        display: flex;    
        text-align: center;
    }
    .box8 span{
        margin: auto;
    }
    复制代码

    方法8:display:-webkit-box

    复制代码
    .box9{   
         display: -webkit-box;   
         -webkit-box-pack:center;  
         -webkit-box-align:center;   
         -webkit-box-orient: vertical;    
         text-align: center
    }
    复制代码

    。。。。。。。

  • 相关阅读:
    EasyUI
    EasyUI
    EasyUI
    django MTV架构下的网站开发步骤
    Centos7下安装python3
    python 线程间事件通知
    hadoop MapReduce
    hadoop文件配置
    DataFrame 数据去重
    用selenium获取cookies
  • 原文地址:https://www.cnblogs.com/zhaobao1830/p/9714029.html
Copyright © 2020-2023  润新知