zoukankan      html  css  js  c++  java
  • 垂直居中

    一,内联元素的垂直居中之图片

      查了多方资料,最终觉得淘宝工程师的做法更能满足我的需求,于是把它记录在此:

      铺垫:vertical-align 这个属性的特点,它是相对兄弟级(line-height)来定位的,并且它仅对行内元素有效;

         display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            ul,li{padding:0;margin:0;}
            li{list-style:none;}
            img{max-width:100px;max-height:110px;min-width:50px;min-height:50px;}/*自定义最大和最小宽高来控制图片*/
            .a li{float:left; margin-right:13px;}
            .a li div{display:table-cell; width:144px; height:144px; border:1px solid #beceeb; font-size:14px; text-align:center; vertical-align:middle;}
            .a li div img{vertical-align:middle;}
        </style>
    </head>
    <body>
    <ul class="a">
        <li>
            <div><img src="1.jpg" /></div>
        </li>
        <li>
            <div><img src="a.jpg" /></div>
        </li>
        <li>
            <div><img src="aa.jpg" /></div>
        </li>
    </ul>
    </body>
    </html>

    总结:可用于多图片上传,既不影响布局,有不用担心图片等宽高比 。

    二,内联元素垂直居中之文字(非p标签):

      注意:里面用来定位来做水平居中:因为.par用了display:table-cell属性,所以margin就没有用了,故而用padding和定位来达到满意位置。

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .a{position:relative;}
            .par{position:absolute;left:50%;margin-left:-169px;border:4px solid #beceeb;display:table-cell; vertical-align:middle;padding:20px;}
            .par span{display:inline-block;vertical-align:middle;line-height:100px;border:1px solid red;}
        </style>
    </head>
    <body>
    <div class="a">
        <div class="par">
            <span>浪费的肌肤雷电交加了房间封疆大吏风景</span><br>
            <span>浪费的肌肤雷电交加了房间封疆大吏风景</span><br>
            <span>浪费的肌肤雷电交加了房间封疆大吏风景</span>
        </div>
    </div>
    
    </body>
    </html>

    三,如果是p段落标签,直接用line-height,就能让文字很好的上下居中。

    四,少量单纯的父子集的居中,简单来说就是用定位了。

    总结:需求改变方法,秉承高效,简洁,优化,兼容,选择合适的属性。

    参考:

    http://www.zhangxinxu.com/study/200908/img-text-vertical-align.html#zhangxinxu

    http://www.zhangxinxu.com/wordpress/2010/10/我所知道的几种displaytable-cell的应用/

    http://www.cnblogs.com/zhangxiongcn/p/6028633.html

  • 相关阅读:
    python 端口扫描仪
    [ruby on rails] 深入(1) ROR的一次request的响应过程
    [ruby on rails] 跟我学之(10)数据输入验证
    [ruby on rails] 跟我学之(9)删除数据
    [ruby on rails] 跟我学之(8)修改数据
    [ruby on rails] 跟我学之(7)创建数据
    BZOJ 2301 [HAOI2011]Problem b (分块 + 莫比乌斯反演)
    BZOJ 2005 [Noi2010]能量采集 (数学+容斥 或 莫比乌斯反演)
    BZOJ 1497 [NOI2006]最大获利 (最小割)
    BZOJ [FJOI2007]轮状病毒 (找规律)
  • 原文地址:https://www.cnblogs.com/wang715100018066/p/6030624.html
Copyright © 2011-2022 走看看