zoukankan      html  css  js  c++  java
  • CSS居中

    内容居中:text-align:center;这种用法需要定义在父级元素上面。然后他的子元素的内容就全部居中了。

    div居中1:margin:0 auto;

    div居中2:left: 50%;margin-left: -60px;这种用法需要父级元素的position:relative; 然后子元素的position:absolute;绝对定位。子元素的宽度要设置,比如120px,这时候再向左偏移他一半的宽度就好了。

    1.使用绝对定位垂直和水平居中:

    <style>
            .container {
                border: 1px solid red;
                position: relative;
                height: 500px;
            }
    
            .absolute_center {
                position: absolute;
                 200px;
                height: 200px;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0;
                margin: auto;
                background: #518fca;
                resize: both; /*用于设置了所有除overflow为visible的元素*/
                overflow: auto;
            }
        </style>

    绝对对位原理:元素在过度受限情况下,将margin设置为auto,浏览器会重算margin的值,过度受限指的是同时设置top/bottom与height或者left/right与width。html代码:

    <div class="container">
            <div class="absolute_center">
                生活不能等待别人来安排,要自已去争取和奋斗;<br>
                而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。<br>
                有了这样的认识,你就会珍重生活,而不会玩世不恭;同时,也会给人自身注入一种强大的内在力量。
            </div>
        </div>

    使用绝对定位要求元素必须设置明确高度。内容超过元素高度时需要设置overflow决定滚动条的出现
    优点:支持响应式,只有这种方法在resize之后仍然垂直居中
    缺点:没有显式设置overflow时,内容超过元素高度时会溢出,没有滚动条

    2.负marginTop方式

    已知元素高度后,使用绝对定位将top设置为50%,margin-top设置为内容高度的一半(height + padding) / 2;内容超过元素高度时需要设置overflow决定滚动条的出现
    原理:top:50%元素上边界位于包含框中点,设置负外边界使得元素垂直中心与包含框中心重合;水平居中同样的道理,使用margin-left负值(元素宽度的一半)。

    .negative_margin_top {
                position: absolute;
                top: 50%;
                left: 0;
                right: 0;
                margin: auto;
                margin-top: -100px;
                 200px;
                height: 200px;
                background: #518fca;
            }

    优点:代码量少、浏览器兼容性高支持ie6 ie7
    缺点:不支持响应式(不能使用百分比、min/max-width)

    3.table-cell方式
    原理:利用表布局特点,vertical-align设置为middle后,单元格中内容中间与所在行中间对齐

    .container {
                display: table;
                border: 1px solid red;
                height: 500px;
                 100%;
            }
    
            .absolute_center {
                display: table-cell;
                text-align: center;
                background: #518fca;
                vertical-align: middle;
            }

    优点:支持任意内容的可变高度、支持响应式

    缺点:每一个需要垂直居中的元素都会需要加上额外标签(需要table、table-cell两个额外元素)

    4.弹性盒式布局

    .is-Flexbox {

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

         border: 1px solid red;

                height:500px;
            }
    
    <div class="is-Flexbox">
                既要脚踏实地于现实生活,又要不时跳出现实到理想的高台上张望一眼。<br>
        </div>

    优点:真正的垂直居中、水平居中布局
    缺点:ie11才开始支持弹性布局

    来源:http://www.cnblogs.com/dojo-lzz/p/4419596.html

    http://www.jqhtml.com/6435.html

  • 相关阅读:
    Oracle创建序列,删除序列
    java base58
    百度地图 显示,定位,轮廓图
    百度地图 圈出省份轮廓图并高亮
    基于双向链表的增删改查和排序(C++实现)
    统计字母出现次数
    线程安全
    C++面试秘笈笔记
    牛客选择题刷题
    new delete 浅析
  • 原文地址:https://www.cnblogs.com/xsj1989/p/7889689.html
Copyright © 2011-2022 走看看