zoukankan      html  css  js  c++  java
  • css 实现元素水平垂直居中总结5中方法

    个人总结,如有错误请指出,有好的建议请留言。o(^▽^)o

    一、margin:0 auto;text-align:center;line-height方法  

    1 <div id="divAuto">margin,text-align;水平居中</div>
     1 /* 
     2     margin:0 auto; 设置块元素(或与之类似的元素)的水平居中
     3     text-align:center;设置文本或img标签等一些内联对象(或与之类似的元素)的水平居中
     4     line-height:;高度设置为容器的高度 实现单行文本垂直居中(伪居中)
     5     overflow:hidden;为了防止内容超出容器或者产生自动换行
     6 */
     7 #divAuto {
     8     width:300px;
     9     height:50px;
    10     background-color:#ff6a00;
    11     margin:0 auto;
    12    text-align:center;
    13    line-height:50px;
    14    overflow:hidden;
    15 }

    二、div不设置高度,子元素padding填充

    1     <div id="divPar">
    2         <p>padding填充实现居中</p>
    3     </div>
     1 /*
     2     div 不设置高度
     3     padding:20px 0;使用padding值把div填充起来,是一种“看起来”的垂直居中方式,
     4     这种方法应用的前提就是容器的高度必须是可伸缩的
     5 */
     6 #divPar {
     7     width:100px;
     8     background-color:#00ff21;
     9 }
    10 #divPar p{
    11     padding:20px 0;
    12 }

    三、display:table;display:table-cell; 元素表格化实现垂直居中

       <div id="divBox">
            <div id="divChild">table化,vertical-align:middle;实现垂直居中</div>
        </div>
     1 /*
     2     使用table的方式实现元素垂直居中
     3     父div的display设置为table
     4     子div的display设置为table-cell
     5     通过vertical-align:middle;实现元素垂直居中
     6     缺点:IE8无效
     7 */
     8 #divBox {
     9     width:200px;
    10     height:100px;
    11     margin:10px auto;
    12     background-color:#000000;
    13     display:table;
    14     text-align:center;
    15 }
    16 #divChild {
    17     width:50px;
    18     height:50px;
    19     background-color:#ff6a00;
    20     display:table-cell;
    21     vertical-align:middle;
    22 }

     四、利用父元素相对定于,子元素绝对定位的方式实现

        <div id="divRel">
            <div id="divAbs">绝对定位</div>
        </div>
     1 /*
     2     利用父元素相对定位 子元素绝对定位的方式实现子元素水平垂直居中
     3     top:50%;left:50% 实现子元素左上角处在父元素的中心位置
     4     margin设置宽高位负的子元素宽高的一半 实现子元素相对父元素水平垂直居中
     5     缺点:没有足够空间时,content 会消失(类似div 在 body 内,当用户缩小浏览器窗口,滚动条不出现的情况)
     6 */
     7 #divRel {
     8     width:500px;
     9     height:200px;
    10     position:relative;
    11     background-color:#ffd800;
    12 }
    13 #divAbs {
    14     width:100px;
    15     height:50px;
    16     position:absolute;
    17     background-color:#4800ff;
    18     text-align:center;
    19     top:50%;
    20     left:50%;
    21     margin:-25px 0 0 -50px;
    22 }
     1 /*绝对居中 子元素的另一种实现方式*/
     2 #divAbs {
     3     width:100px;
     4     height:50px;
     5     position:absolute;
     6     background-color:#4800ff;
     7     text-align:center;
     8     left:0;/*-- left和right配对出现控制水平方向 --*/
     9     right:0;
    10     top:0;/*-- top和bottom配对出现控制垂直方向居中 --*/
    11     bottom:0;
    12     margin:auto;/* 这句是必须的*/
    13     
    14 }

     

    五、使用一个div当填充元素实现子元素的垂直居中

        <div id="parent">
            <div id="zero">填充元素</div>
            <div id="child">Content here</div>
        </div>
     1 /*这种方法,在 content 元素外插入一个 div。设置此 div height:50%; margin-bottom:-contentheight;content 清除浮动,并显示在中间;
     2 缺点:需要额外的空元素*/
     3 
     4 #parent {width:800px;
     5     height:300px;
     6     border:1px solid #ccc;}
     7 
     8 #zero {
     9     float:left;
    10     height:50%;
    11     margin-bottom:-100px;/*居中元素高度的一半*/
    12 }
    13 #child  {
    14     clear:left;/*清除浮动*/
    15     height:200px;
    16     background-color:#ff0000;
    17 }

    经验所限,暂时更新到这里...

  • 相关阅读:
    input 控制输入非负数
    查看web项目中的.class文件的路径
    web(获取路径的方法)
    javascript从入门到精通(三)
    javascript从入门到精通(二)
    javascript从入门到精通(一)
    jquery从入门到精通(一)
    background-sizi (转)
    background-position (转)
    html,css命名规范 (转)
  • 原文地址:https://www.cnblogs.com/Medeor/p/4965067.html
Copyright © 2011-2022 走看看