CSS盒子居中的几种方法

1.第一种

利用margin,div1的宽减去div2的宽就是div2margin-left的数值:(100-40)/2=30

div1的高减去div2的高就是div2margin-top的数值:(100-40)/2=30

按 Ctrl+C 复制代码



    
        
        demo
    
    
        
        
CSS盒子居中的几种方法_第1张图片
第一种

第2种

利用css的 position属性,把div2相对于div1的top、left都设置为50%,然后再用margin-top设置为div2的高度的负一半拉回来,用marg-left设置为宽度的负一半拉回来,css如下设置



    
        
        demo
    
    
        

        
CSS盒子居中的几种方法_第2张图片
第二种

第三种

还是用css的position属性,如下的html



    
        
        demo
    
    
        

        
CSS盒子居中的几种方法_第3张图片
第三种

第四种

利用css3的新增属性table-cell, vertical-align:middle;



    
        
        demo
    
    
        

        
CSS盒子居中的几种方法_第4张图片
第四种

第五种方法



    
        
        demo
    
    
        

        
div居中方法
CSS盒子居中的几种方法_第5张图片
第五种方法

第六种方法

利用flexbox布局

直接在父元素上使用flexbox的布局

 


    
    demo
    




CSS盒子居中的几种方法_第6张图片
第六种方法

第七种方法

利用transform的属性,注意子绝父相定位

缺点:需要支持Html5



    
    demo
    




我是外部盒子
我要居中
CSS盒子居中的几种方法_第7张图片
第七种

第八种

两者都要固定定位,不常用

缺点:需要设置position属性,网页复杂时容易扰乱页面布局,而且只是元素的起始位置居中


    
    demo
    




我要居中
CSS盒子居中的几种方法_第8张图片
第八种方法

你可能感兴趣的:(【前端面试点滴知识,】)