我知道这是非常基本的 CSS。如何保持跨度包含在 div 中?目前,跨度超出了 div 的顶部和底部。
div {
width: 200px;
margin: 10px;
background-color: #ff0;
}
span {
margin: 5px;
padding: 5px;
background-color: #fc0;
}
<body>
<div>
<span>span</span>
</div>
</body>
内联元素不会消耗垂直填充和边距空间。您可以制作 span display: block
,但如果没有更多细节,我不知道这是否能实现您的目标。
内联、非替换框(例如跨度)的垂直填充、边框和边距从内容区域的顶部和底部开始,与“行高”无关。但在计算行框高度时只使用“行高”。因此,您在这里看到重叠:http: //jsfiddle.net/Q9AED/
如果您想使用简单的解决方案,可以使用 line-height 而不是 display: inline-block: using line-height。
display: inline-block 适用于 Safari >= 2, Opera >= 9, IE >= 8, Firefox > 3。但你可以在 IE < 8 中模仿 inline-block: display: inline; 缩放:1。