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 }

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

  • 相关阅读:
    推荐系统 蒋凡译 第一章 引言 读书笔记
    神经网络与深度学习 邱锡鹏 第5章 卷积神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第4章 前馈神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第3章 线性模型 读书笔记
    神经网络与深度学习 邱锡鹏 第2章 机器学习概述 读书笔记
    神经网络与深度学习 邱锡鹏 第1章 绪论 作业
    神经网络与深度学习 邱锡鹏 第1章 绪论 读书笔记
    算法笔记 上机训练实战指南 第13章 专题扩展 学习笔记
    算法笔记 第13章 专题扩展 学习笔记
    算法笔记 上机训练实战指南 第11章 提高篇(5)--动态规划专题 学习笔记
  • 原文地址:https://www.cnblogs.com/Medeor/p/4965067.html
Copyright © 2011-2022 走看看