• 实现文字图片垂直居中的总结性方法


    首先附带HTML代码

    <div class="box box1 box2 box3 box4 box5 box7 box8 box9">
    	    <div>垂直居中</div>
    </div>
    

    接着附带box为公共样式

    .box{
    		 200px;
    		height: 200px;
    		background: pink;
    }
    

    第一种方法box1:display: table-cell;

    兼容ie8及以上。适用于文字与图片

    css代码如下:

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

    第二种方法box2:display: flex;

    兼容ie10及以上。适用于文字与图片

    css代码如下:

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

    第三种方法box3:绝对定位和负边距;

    兼容ie6及以上。适用于文字与图片

    但是需要注意的是,需要设置准备的宽高,并且使用的负边距为宽高的一半

    css代码如下:

    .box3{    
    	position:relative;
    }
    .box3 img{           
    	 position: absolute;          
    	 100px;          
    	 height: 50px;           
    	 top:50%;           
    	 left:50%;            
    	 margin-left:-50px;            
    	 margin-top:-25px;           
    	 text-align: center;       
    }
    

    第四种方法box4:绝对定位与margin;

    兼容ie8及以上。适用于文字与图片

    关键在于margin与子绝父相

    css代码如下:

    .box4{
        position: relative;
    }
    
    .box4 img{ 
          50%;   
         height: 50%;    
         background: #000; 
         overflow: auto;   
         margin: auto;   
         position: absolute;   
         top: 0; 
         left: 0;
         bottom: 0; 
         right: 0;  
    }    
    

    第五种方法box5:绝对定位与transform;

    兼容ie9及以上。适用于文字与图片

    ie8不支持transform,所以会出现兼容性问题

    css代码如下:

    .box5{    
    position:relative;
    }
    
    .box5 img{  
         50%;   
        height: 50%;           
        position: absolute;            
        top:50%;            
        left:50%;                        
        transform:translate(-50%,-50%);            
        text-align: center;        
    }
    

    第六种方法box6:伪元素;

    兼容ie8及以上。适用于文字与图片

    一直对伪元素了解不够深,之后会对做更加透彻的分析,所以并不打算多做解释

    css代码如下:

    .box7{  
         text-align:center;  
        }
    .box7 img{  
         vertical-align:middle;  
         display:inline-block;  
         }
    .box7:after{ 
        content:'';  
        0;  
        height:100%; 
        display:inline-block;  
        vertical-align:middle;
    }

    第七种方法box7:弹性盒方法;

    不兼容所有ie浏览器

    适用于文字与图片。也是我最喜欢的一种方法。但是对ie浏览器并不友好。更推荐在手机端使用

    css代码如下:

    .box8{    
        display: flex;    
        text-align: center;
    }
    .box8 img{
        margin: auto;
    }
    

    第八种方法box8:display: -webkit-box;;

    同样适用于手机端,ie端全部爆炸

    css代码如下:

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

    原文链接:http://www.jiangweishan.com/article/duiqi213124124124.html

  • 相关阅读:
    跑Java -jar somefile.jar时会发生什么(一个)
    Java 多线程编程两个简单的例子
    Unity3D合并着色器
    HDU
    逆元方法
    仿联想商城laravel实战---3、前端页面搭建(什么情况下需要路由接参数)
    英语发音规则---字母组合oo的发音规律
    仿联想商城laravel实战---2、后端页面搭建(验证码如何在页面中使用)
    仿联想商城laravel实战---1、仿联想商城需求和数据库设计(lavarel如何搭建项目)
    Linux课程---11、Linux中软件安装和调试
  • 原文地址:https://www.cnblogs.com/liyouwu/p/9003661.html
Copyright © 2020-2023  润新知