zoukankan      html  css  js  c++  java
  • 浮动元素的水平居中

    当HTML结构如下所示:

     

    [html] view plain copy
     
    1. <div id="container">  
    2.     <div class="left">left</div>  
    3. </div>  

    同时,CSS这样写:

     

     

    [css] view plain copy
     
    1. #container{  
    2.   width:400px;  
    3.   height:110px;  
    4.   border:1px solid black;  
    5. }  
    6. #container div{  
    7.   width:100px;  
    8.   height:100px;  
    9.   float:left;  
    10.   margin:0 auto;  
    11. }  

    效果如下:

    很明显,图片并没有水平居中。这是因为浮动元素脱离了普通文档流,margin:0 auto也就不起作用了。

    解决方法很简单:在浮动元素外面再嵌套一层div,代码如下:

     

    [html] view plain copy
     
    1. <div id="container">  
    2.   <div class="content">  
    3.     <div class="left">left</div>  
    4.   </div>  
    5. </div>  
    [html] view plain copy
     
    1. #container{  
    2.   400px;  
    3.   height:110px;  
    4.   border:1px solid black;  
    5. }  
    6. .content{  
    7.   <strong>100px;</strong>  
    8.    margin: 0 auto;  
    9. }  
    10. .content div{  
    11.   100px;  
    12.   height:100px;  
    13.   float:left;  
    14. }  

    此时,浮动元素就可以水平居中了:

     



    同样地,对于多个浮动元素,也可以用这种方法实现水平居中,效果如下:

    当HTML结构如下所示:

     

    [html] view plain copy
     
    1. <div id="container">  
    2.     <div class="left">left</div>  
    3. </div>  

    同时,CSS这样写:

     

     

    [css] view plain copy
     
    1. #container{  
    2.   width:400px;  
    3.   height:110px;  
    4.   border:1px solid black;  
    5. }  
    6. #container div{  
    7.   width:100px;  
    8.   height:100px;  
    9.   float:left;  
    10.   margin:0 auto;  
    11. }  

    效果如下:

    很明显,图片并没有水平居中。这是因为浮动元素脱离了普通文档流,margin:0 auto也就不起作用了。

    解决方法很简单:在浮动元素外面再嵌套一层div,代码如下:

     

    [html] view plain copy
     
    1. <div id="container">  
    2.   <div class="content">  
    3.     <div class="left">left</div>  
    4.   </div>  
    5. </div>  
    [html] view plain copy
     
    1. #container{  
    2.   400px;  
    3.   height:110px;  
    4.   border:1px solid black;  
    5. }  
    6. .content{  
    7.   <strong>100px;</strong>  
    8.    margin: 0 auto;  
    9. }  
    10. .content div{  
    11.   100px;  
    12.   height:100px;  
    13.   float:left;  
    14. }  

    此时,浮动元素就可以水平居中了:

     



    同样地,对于多个浮动元素,也可以用这种方法实现水平居中,效果如下:

  • 相关阅读:
    新博客第一篇,字符串 Unicode 转义
    C# 泛型方法的类型推断
    一个改进 LRU 算法的缓冲池 update 2013.7.15
    C# 判断类型间能否隐式或强制类型转换,以及开放泛型类型转换 update 2015.02.03
    C# 词法分析器(三)正则表达式
    java面试题(二)
    Map的迭代
    Spring aop切面插入事物回滚
    Log4J的配置
    js中将yyyyMMdd格式的日期转换
  • 原文地址:https://www.cnblogs.com/leibo520/p/7064295.html
Copyright © 2011-2022 走看看