• inline-block间距解决方案


    当我们将元素设为inline-block时,总是会莫名其妙出现一些间距

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                ul {
                    padding-left: 0;
                }
                ul li {
                    width: 20px;
                    height: 20px;
                    background: red;
                    display: inline-block;
                }
            </style>
        </head>
        <body>
            <ul>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </body>
    </html>

    效果如下:

    原因在于空白符的存在!</li>与下一行的<li>之间存在空白换行符

    解决方法一般是在不破坏dom结构的前提下改变写法以清除换行符

    1.结束标签与开始标签拼接

    <ul>
        <li>
            
        </li><li>
            
        </li><li>
            
        </li><li>
            
        </li>
    </ul>

    2.拆分开始标签

    <ul>
        <li>
        </li><li
        ></li><li
        ></li><li
        ></li>
    </ul>

    3.拆分结束标签

    <ul>
        <li></li
        ><li></li
        ><li></li
        ><li></li>
    </ul>

    4.将换行符注释掉

    <ul>
        <li></li><!--
        --><li></li><!--
        --><li></li><!--
        --><li></li>
    </ul>

    5.使用margin负值

    即将margin-left设为负值,让其向左偏移,但偏移距离与浏览器、上下文字体及字体大小有关,一说为-0.25em,亲测并不适用,故此方法适用性不佳

    6.清除闭合标签(看起来怪怪的。。)

    <ul>
        <li>
        <li>
        <li>
        <li>
    </ul>

    注意: 父元素的闭合标签不可省去,否则在低版本浏览器(主要指IE)上会有问题

    7.父元素font-size设为0

    原理很简单,父元素font-size设为0后空白字符字体大小也为0,自然看不出来,但是在有些浏览器上,最小字体有限制,主要指的是chrome,

    这时,可加上-webkit-text-size-adjust: none (-webkit-text-size-adjust 是否根据设备大小调整字体,仅仅在移动设备上有效),但最新的chrome已解决此问题

    8.letter-spacing设为负值

    将leter-spacing设为负值可减少设置消除间距,不同浏览器数值不一样,一般不会发生叠加,但opera上会有过小还原的现象。

    9.word-spacing设为负值

    类似于letter-spacing的效果,但过小时会发生叠加,私认为此方法也不算可取。

    因此现阶段最好的方法为: 改变dom结构、清除闭合标签及font-size设为0

  • 相关阅读:
    B
    Labyrinth 树的直径加DFS
    Speech to Text for iOS
    苹果开发者:Siri未开放API 有些让人失望
    ios6.0 siri语音识别
    Sample example for Speech to Text in iOS
    iOS升级经验分享
    苹果放宽了 iOS 5.0 对应用本地存储的限制
    iOS5可能会删除本地文件储存
    iOS 5 does not allow to store downloaded data in Documents directory? ios5.0及以后的版本对于下载的文件存储路径有了改变
  • 原文地址:https://www.cnblogs.com/yanze/p/7619703.html
Copyright © 2020-2023  润新知