button的空隙哪里来的?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
       button{
           border:none;
       }
    </style>
</head>

<body>
    <div>
        <button>是的</button>
    </div>

</body>
</html>

这里的button高度是15.6px,为什么外面包裹的div是18.4px?

阅读 8.3k
5 个回答

因为div是块级元素,由于div标签之间有空格换行,这些不可见的字符会导致块级元素出现间隙,因为他们是有浏览器的默认字体大小的,清除块级元素间隙的方法是,设置其字体大小为0,你可以加上以下样式解决此问题:

div {
    font-size: 0px;
}

内联元素有3个像素间距

前面的答案说的都对。我只是说几句,题主可以设置button border: 0; 来进一步理解换行符导致的空隙问题。

给你个链接,里面提出了几种解决问题的方法,以供参考。
Fighting the Space Between Inline Block Elements

button别换行就行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题