1. vartical-align
      vartical-align可以设置行内元素和表格单元格(table-cell)垂直对方式,所以如果元素是行内元素或者表格的话,可以直接应用这个属性对内容进行对齐设置。如果是块级元素,需要将元素的display设置为table-cell,然后使用vartical-align=center
    blockElement{
         display:table-cell;
      vartical-align:center;
     }
    缺点:table-cell是css3中的属性,所以根据平台的不容可能会有兼容性的问题。具体兼容程序可以在caniuse网站查询。
  2. align-items
    align-items是设置伸缩盒中的元素在cross axis(侧轴)方向的放置方式。
    通过设置display:flex和align-items:center就可以实现将元素居中。
    element{
      display:flex;
           align-items:center;
    }
    缺点:同样是兼容性问题
  3. justify-content
    justify-content是设置伸缩盒中的元素在main axis(主轴)方向的放置方法。主轴是从左到右的,但是通过将flex-direction设置为column可以将主轴改变为上下方向。然后使用justify-content将元素居中。
      element{
                display: flex;
                flex-direction: column;
                justify-content: center;
            }
  4. 绝对定位与相对定位
      同时使用父元素和子元素的高度,将父元素设置为相对定位,子元素设置为绝对定位。然后通过设置top或bottom值,就可以轻易的将子元素居中;
    fatherElement{
      pisition:relative;/*相对定位*/
      height:number;
    }
    element{
          position:absolute; /*绝对定位*/
        top:number;
    }
    缺点:这种情况的前提就是必须已知父元素和子元素的高度,然后根据差值计算。
  5. 绝对定位和负外边距
           这种情况跟上面的区别就是只使用子元素的高度。设置绝对定位的元素top值为50%,子元素的上边缘位于父元素的50%高度,然后使用负外边距将元素向上移动一般子元素高度
    fatherElement{
      position:relative;
    }
    element{
      position:absolute;
           top:50%;
           margin-top:-number;/*负值,值为子元素的二分之一高度*/
    }
    缺点:必须知道被居中元素的尺寸;
  6. 绝对定位和transform的translate
    这个方法与上一个方法一处不同,就是在设置了top为50%之后,如何将元素向上移动自身高度的一半。css3中的transform转换有移动函数translate(x,y),x和y既可以为数值,也可以为百分数;如果是百分数,表示自身高度*百分数,所以
    fatherElement{
      position:relative;
    }
    element{
      position:absolute;
           top:50%;
      transform:translate(0,-50%);
    }
  7. 绝对定位和margin:auto
    绝对定位的前提下,设置相同的top和bottom值,然后使用margin:auto,可以使元素居中。
    fatherElement{
      position:relative;
    }
    element{
      position:absolute;
           top:0;
      bottom:0;
      margin:auto;
    }
    这里必须在绝对定位之后,对top和bottom进行赋值,值是多少无所谓,但是必须相等。然后使用margin为auto即可实现居中。
  8. padding
    这个道理很简单,就是设置相同的上下内边距,从而使子元素居中。
    #divFather{
            width: 400px;
            padding:10px 0;
        }
        #divFather>div{
            width: 100px;
            height: 100px;
        }
      在没有对父元素设置高度的时候,这个居中实质上是等距离加大padding,从而让元素看起来就是居中的,父元素的内容区高度就是子元素的高度。
  9. 使用line-height对单行文本进行居中
    设置line-height与容器的高度相同,可以使单行文本居中
    div{
            width: 400px;
            height: 200px;
            line-height: 200px;
        }
  10. 使用line-height和vertical-align对图片进行居中
    <div>
      <img>
    </div>
    div{
        width: 300px;
        height: 300px;
        background: #ddd;
        line-height: 300px;
    }
    div img {
        vertical-align: middle;
    }

使用css实现垂直居中的更多相关文章

  1. 五种方法让CSS实现垂直居中

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  2. CSS实现垂直居中的5种方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  3. CSS水平垂直居中总结

    行内元素水平居中 把行内元素包裹在块级父元素中,且父元素中的css设置text-align:center; <!DOCTYPE html> <html> <head> ...

  4. css图片垂直居中

    css图片垂直居中一.style代码 .case-pic{ height: 125px; position: relative; text-align: center } .case-pic span ...

  5. 转: css实现垂直居中的方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 用 CSS 实现垂直居中并不容易.有些方法在一些浏览器中 ...

  6. 纯CSS实现垂直居中的7种方法

    今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法.为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中 ...

  7. CSS文字垂直居中的一些问题

    说到CSS文字垂直居中,很多初学者都喜欢用调整行高等于div高度的方式来达到效果, div { height:30px; line-height:30px; } 但其实这么做会遇到一个问题:多行文本溢 ...

  8. CSS布局-垂直居中问题

    在前端页面的布局方面,很多时候需要用到垂直居中,如果父集元素或子元素的高度是固定的那么垂直居中可以用line-height或者定位 top:50%:margin-top:- height/2 px:实 ...

  9. 顽石系列:CSS实现垂直居中的五种方法

    顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https:// ...

  10. css 文字垂直居中问题

    CSS 文字垂直居中问题 问题:在 div 中文字居中问题: 当使用 line-height:100%%; 时,文字没有居中,如下: html: <div id="header_log ...

随机推荐

  1. 10-14C#基础--语句(switch....case和for...循环)

    10-14C#基础--语句(2) 一.课前作业:“跟电脑猜拳” 二.switch(定义的变量,参数值)......case.... 注:switch...case大多用于值类型的判断,这里不同于if表 ...

  2. LAMP 2.2 Apache配置静态缓存

    这里的静态文件指的是图片.js.css 等文件,用户访问一个站点,其实大多数元素都是图片.js.css 等,这些静态文件其实是会被客户端的浏览器缓存到本地电脑上的,目的就是为了下次再请求时不再去服务器 ...

  3. ASP.NET MVC3 HtmlHelper用法大全

    HTML扩展类的所有方法都有2个参数:以textbox为例子public static string TextBox( this HtmlHelper htmlHelper, string name, ...

  4. WEB-INF与Webroot

    WEB-INF:放在WEB-INF下的资源是浏览器访问不到的,但后台程序能跳转到的,但重定向不行

  5. sqlplus 连接数据库执行SP

    .bashrc export HOME= export LANG="C" .bash_profile #明码 #export LOG_USER=lhcx #export LOG_P ...

  6. PopupWindow-----点击弹出 PopupWindow 初始化菜单

    /** * 点击弹出 PopupWindow 初始化菜单 */ private void initPopupWindow() { PopupWindowAdapter adapter = new Po ...

  7. day35 02-Hibernate持久化对象状态及状态转换

    hibernate内置有一个c3p0,不用引入c3p0的jar包也行. 现在其实可以不用去创建表和实体类.因为hibernate可以自动帮我们生成.只要把映射建好了它就可以自动帮我们生成. 创建实体类 ...

  8. winform combobox绑定数据

    mboBox下拉菜单控件,在数据库内的ComboBox应用的表进行修改时,如果是用的普通方法,显示数据一个方法,添加数据一个方法 这样会导致程序后期维护难度增加,在这里使用数据绑定来让ComboBox ...

  9. [转载]HTTP的无状态是什么意思?

    文章地址:https://www.cnblogs.com/bellkosmos/p/5237146.html#commentform 作者:赛艇队长 引子: 最近在好好了解http,发现对介绍http ...

  10. 算法Sedgewick第四版-第1章基础-010一检查括号是否成对出现

    /****************************************************************************** * Compilation: javac ...