html/css,如何使元素填充不覆盖以前的元素?

标签 html css

我写了一个jsfiddle的问题。我希望带有填充的 span 被进一步向下推,这样它就不会遮住它上面的那个。目前看来布局只考虑了内容文本的大小而忽略了填充。我希望能够通过一个通用的 css 规则来实现这一点,如果可能的话,无论重叠跨度具有什么填充值,该规则都有效。

html:

<span class='outer'>
    <span class='inner'>
        <span class='content'>Hello</span>
    </span>
    <span class='inner'>
        <span class='content'>
            <span id='pad-me-out'>
                World
            </span>
        </span>
    </span>
</span>

CSS:

.outer > .inner{
    clear:left;
    float:left;
}

#pad-me-out{
    background: #999;
    padding:7px 14px;
}

最佳答案

display: inline-block添加到#pad-me-out

所以;

#pad-me-out{
    background: #999;
    padding:7px 14px;
    display: inline-block;
}

已按照@tomaroo 的建议更新为 inline-block,但这可能不适用于旧版浏览器。

关于html/css,如何使元素填充不覆盖以前的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18344763/

相关文章:

html - 为什么不是位置 :sticky with left:0 working inside a scrollable container?

javascript - 使用 javascript 隐藏/显示文本?

html - 媒体查询不执行任何操作

jQuery 1.5.1 与 1.4.4 的奇怪之处

jquery - 使用 jquery 更改 CSS 值

c# - 能够在 WPF 网络浏览器中支持 Html5

javascript - 为什么 Onblur 不起作用(JQuery/Javascript)

c# - 从 C# .NET 流式传输时从 HTML5 视频获取导航功能

html - 带计数器的动画进度条

javascript - <li> 元素如何在没有 CSS position 或 margin-top 的情况下上下移动?