zoukankan      html  css  js  c++  java
  • 居中问题

    一 水平居中

       水平居中问题和浏览器的宽度及分辨率密切相关。

    1         使用水平居中属性定义水平居中

    水平居中的问题一般出现在块元素中。因为内联元素无法定义宽度和高度属性。使用水平居中属性(text-align)可以定义元素的内容水平居中显示。

    text-align:center;在IE高级版本和非IE浏览器中只是让元素内内容居中显示,如果要整理居中需要用到margin:auto

    IE6/7及IE8混杂模式中,text- align:center可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。

     

    <style>
    
           div{
    
               text-align:center;
    
               500px;
    
               height:200px;
    
               background:#666666;
    
               border:4px solid #000000;
    
           }
    
           p{
    
               height:100px;
    
               200px;
    
               background:#999999;
    
               border:1px solid #000000;
    
           }
    
    </style>
    
    <div>
    
          <p>这里是需要居中的内容</p>
    </div>

    2         使用边界属性定义水平居中

    定义子元素水平居中,可以将左右两边的边界属定义为auto,用自动补入的边界距离来控制元素的居中显示。

    <style>
    
           div{
    
               //margin:0 auto;
    
               400px;
    
               height:200px;
    
               border:1px solid red;
    
           }
    
           p{
    
               margin:0 auto;
    
               height:100px;
    
               200px;
    
               border:1px solid blue;
    
           }
    
    </style>
    
    
    
    <div>
    
          <p>这里是需要居中的内容</p>
    </div>
    

    二  垂直居中

     

    1         容器和内容大小固定的垂直居中

    在定义子元素垂直居中时候,如果父元素和子元素大小确定,则可以使用两个元素的补白、边界或定位属性来定义元素的垂直居中。

     

    a—  使用父元素的补白属性定义垂直居中

     <style>
    
        .div1{
    
                 padding:50px 0 0;
    
                 500px;
    
                 height:150px;
    
                 border:1px solid red;
    
     
    
        }
    
        .div2{
    
                 height:100px;
    
                 200px;
    
                 border:1px solid blue;
    
        }
    
        </style>
    
    
    
    <div class="div1">
    
          <div class="div2">这里是需要居中的内容</div>
    </div>
    

    b—  使用子元素的边界属性定义垂直居中

      

     <style>
    
             .div1{
    
                       500px;
    
                       height:200px;
    
                       border:1px solid red;
    
             }
    
             .div2{
    
                       margin:50px 0 0;
    
                       height:100px;
    
                       200px;
    
                       border:1px solid blue;
    
             }
    
      </style>
    
    
    
    <div class="div1">
    
          <div class="div2">这里是需要居中的内容</div>
    </div>
    
    
     
    

    c—   使用子元素的定位属性定义垂直居中

        <style>
    
        .div1{
    
                 500px;
    
                 height:200px;
    
                 border:1px solid red;
    
        }
    
        .div2{
    
                 position:relative;
    
                 top:50px;
    
                 height:100px;
    
                 200px;
    
                 border:1px solid blue;
    
        }
    
        </style>
    
    <div class="div1">
    
          <div class="div2">这里是需要居中的内容</div>
    
    </div>
    

    2         内容大小固定的垂直居中

    已知子元素大小,想在任何大小的父元素中,子元素都能够垂直居中显示,可以使用相对定位属性和负的边界属性值实现。

    由于子元素高度已确定,可以先使用相对定位将子元素定位在父元素高度的50%(此时子元素的上边线与父元素高度的50%处对齐);再在子元素中定义负的上边界属性,属性值为子元素高度的一半。

    <style>
    
    .div1{
    
               500px;
    
               height:200px;
    
               border:1px solid red;
    
    }
    
    .div2{
    
             position:relative;
    
               top:50%;
    
               margin-top:-50px;
    
               height:100px;
    
               200px;
    
               border:1px solid blue;
    
    }
    
    </style>
    
    <div class="div1">
    
          <div class="div2">这里是需要居中的内容</div>
    
    </div>
    

    3         容器大小固定的垂直居中

    当父元素大小固定时候,若子元素为块元素,则很难实现任何内容都能够垂直居中;若子元素为内联元素,则可通过定义行高的方式实现垂直居中。若要精确的控制行高显示,要不断地调整字体大小。

    <style>
    
    .div1{
    
               line-height:200px;
    
               font-size:179px;
    
               border:1px solid black;
    
    }
    
    div{
    
               float:left;
    
               250px;
    
               height:200px;
    
               border:1px solid red;
    
    }
    
    img{
    
               height:100px;
    
               vertival-align:middle;
    
               border:1px solid blue;
    
    }
    
    </style>
    
    <div class="div1">
    
         <!--  <div class="div2">这里是需要居中的内容</div> -->
    
         <img src="1.jpg" alt="pic" />
    
        </div>
    
        <div><
    
    /div>
    

    4         容器和内容大小均不固定的垂直居中

    <style>
    
      .father{
    
            position:relative;
    
            500px;
    
            height:200px;
    
            border:4px solid red;
    
      }
    
      .in{
    
            position:absolute;
    
            top:50%;
    
      }
    
      .son{
    
            position:relative;
    
            top:-50%;
    
            200px;
    
            height:100px;
    
            border:2px solid blue;
    
      }
    
      </style>
    
    <div class="father">
    
               <div class="in">
    
                        <div class="son"></div>
    
               </div>
    
    </div>
    
    宝剑锋从磨砺出,梅花香自苦寒来。
  • 相关阅读:
    SqlServer 2008 R2定时备份数据库,并且发送邮件通知
    C# ICSharpCode.SharpZipLib.dll文件压缩和解压功能类整理,上传文件或下载文件很常用
    C#按回车Enter使输入焦点自动跳到下一个TextBox的方法收集
    SqlServer知识点记录分享
    C#为工作Sql而产生的字符串分割小工具(很实用,你值得拥有)
    SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用
    C#根据CPU+磁盘标号来注册软件
    C# winform调用浏览器打开页面方法分享,希望对大家有帮助
    H5 audio标签
    H5 video标签的第二种格式
  • 原文地址:https://www.cnblogs.com/haimengqingyuan/p/6001772.html
Copyright © 2011-2022 走看看