• 父容器高度大于子图片高度的原因


    现象:

    <!doctype html>
    <html>
    <head>
        <title>父容器高度大于子图片高度</title>
    </head>
    <body>
        <select id="lineselector">
            <option value="baseline">baseline</option>
            <option value="sub">sub</option>
            <option value="super">super</option>
            <option value="top">top</option>
            <option value="text-top">text-top</option>
            <option value="middle">middle</option>
            <option value="bottom">bottom</option>
            <option value="text-bottom">text-bottom</option>
        </select>
        <script type="text/javascript">
            document.querySelector("#lineselector").onchange = function(){
                document.querySelector("#line").style.verticalAlign = this.value;
                document.querySelector("#image").style.verticalAlign = this.value;
            }
        </script>
        <div style="border: 1px blue solid;">
            <div id="line" style="position: relative; height: 0px;  0px; display: inline-block; overflow: visible; vertical-align: baseline;">
                <div style="position: absolute; height: 1px;  99999px; background: gray; overflow: hidden;">&nbsp;</div>
            </div>
            <img id="image" src="http://www.baidu.com/img/bdlogo.gif" style="border: 1px red solid;"/>
        </div>
    </body>
    </html>
    View Code

     (不知道怎么在博客里插入js)

     

    div高度比图片高度大。

    原因:img是inline元素,有假想元素。基于baseline定位时,父容器高度为假想元素的下半部分高度+图片高度。

    解决方法:即消除假想元素影响。可以是 img { display: block; }; 可以是 div { line-height: 0}; 可以是img {  vertical-align: middle//也可以是其他值 }; 可以是 div { font-size: 0};

    感谢:Along和小黄鱼提供的帮助。

    参考:http://www.cnblogs.com/winter-cn/archive/2013/05/11/3072929.html#2679273

  • 相关阅读:
    webpack打包注意事项
    打印内存, 打印16进制
    c++ 字符集转换
    RegSvr32 加载失败,找不到指定的模块
    错误码设计
    mfc 移动绘制的图形
    获取、设置光标
    c++ 函数中定义函数
    python linux 自动补全 tab.py
    3.4.5节 完整神经网络样例程序
  • 原文地址:https://www.cnblogs.com/snadn/p/3142745.html
Copyright © 2020-2023  润新知