zoukankan      html  css  js  c++  java
  • CSS元素水平居中和垂直居中的方法大全

    水平居方法:

    1.最熟悉的是给元素定义一个宽度,然后使用margin:

    body{
    960px;
    margin:0 auto;
    }
    这个是当我们的定义元素的宽度时显现的,如果我们不能定义宽度时,该怎么办呢?

    2.也可以采用定位的方法来实现:

    body{
    position:absolute;
    left:50%;
    }
    3. 既然定位可以,那浮动也是可以的:
    body{
    float:left;
    right:50%;
    }
    4. 对于几个元素同时居中在一条线上:
    body{
    vertical-align:middle;
    }
    5. 利用table:
    ul{
    display:table;
    }
    ul li{
    display:table-cell;
    }
    6. 还可以使用inline-block来实现,但要使用这个就得在其父元素上设置text-align.如下:

    body{
    text-align:center;
    }
    .content{
    display:inline-block;
    }


    垂直居中的四种方法:

    1. 只能是单行文本居中(可适用于所有浏览器):

    .content{
    height:100px;
    line-height:100px;
    }
    2. 跟水平居中一样,垂直也可以用定位的方法:

    .content{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    }
    或者
    .content{
    position:absolute;
    top:50%;
    }
    定位方法的缺点是当没有足够的空间时,元素会消失。

    3. 对此,浮动也是可以的:

    .content{
    float:left;
    height:50%;
    margin-bottom:-120px;
    }
    .footer{
    clear:both;
    height:240px;
    position:relative;
    }
    对于浮动,我们需要在之后清除,并显示在中间。

    4. 也可以使用vertical-align属性:

    .content{
    display:table-cell;
    vertical-align:middle;
    }
    这种方法可以随意改变元素高度,但在IE8中无效。

    div模块在屏幕中居中的例子:

    position: absolute; top: 50%; left: 50%; //上下移动屏幕的50%
    margin: auto;
    -webkit-transform: translate(-50%,-50%); //减去自身的50%(多移动的)
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);

  • 相关阅读:
    Linux笔记 三剑客之sed
    Linux笔记 用户组管理
    Linux实验之软件管理
    Linux实验之系统安装
    gd_t , bd_t 结构分析
    编辑linux内核与bosybox 时,make menuconfig 出现错误
    4412裸板开发 (1点灯)
    tiny4412SDK 1312B 启动ubuntuDsektop
    tiny4412 启动方式
    linux minitools+minicom 安装及使用
  • 原文地址:https://www.cnblogs.com/luoyeguichen/p/4984251.html
Copyright © 2011-2022 走看看