美文网首页
行内元素 padding和margin问题

行内元素 padding和margin问题

作者: 我是一个前端 | 来源:发表于2019-01-04 16:54 被阅读0次

    看到一个面试题 关于行内元素span的

    
        <style>
            * {
                padding: 0;
                margin: 0;
            }
            
            span {
                padding: 100px;
                border: 1px solid red;
            }
        </style>
    <body>
        <span>1</span>
        <span>2</span>
    </body>
    

    我当时就笑了还有这种题? 送分的?

    我想的结果:


    image.png

    实际结果:


    image.png

    我擦! 啪啪啪打脸!

    为什么padding-top被无视了?
    提出这个疑问后我又被打脸了!

        <style>
            * {
                padding: 0;
                margin: 0;
            }
            
            span {
                padding: 100px;
                border: 1px solid red;
            }
          div{
              border: 1px solid red;
          }
        </style>
    <body>
        <span>1</span>
        <span>2</span>
        <div>3</div>
    </body>
    
    image.png

    其实span是不支持padding-top、padding-bottom,不过奇怪的是既然padding不支持那为什么边框显示是有padding-bottom呢?
    查了好多文章 结果只得到了一句话 行内不可替换元素padding会对边框产生影响!

    我擦 不可替换元素 老子干了不到十年前端没听过啊?

    是的官方英文文档和高程上都有说过

    span、a属于不可替换元素
    input属于可替换元素

    padding、margin针对不可替换元素 padding-top、padding-bottom和margin-top、margin-bottom无效。。。无效。。。

    哈哈 总结一下多读书是有用的!

    您的点赞是我继续下去的动力,谢谢!

    相关文章

      网友评论

          本文标题:行内元素 padding和margin问题

          本文链接:https://www.haomeiwen.com/subject/zxckrqtx.html