html - 如何使元素背景在溢出时可见?

标签 html css

我在溢出框中有一个小的下拉选择。问题是我无法让链接背景填满整个宽度。只需尝试滚动:

.outer {
    width: 100px;
    height: 100px;
    overflow: auto;
    border: 1px solid black;
}
.inner a {
    background: none #ccc;
    display: inline-block;
    white-space: nowrap;
}
.inner.block a {
    display: block;
}
<p>inline-block:</p>
<div class="outer">
    <div class="inner"><a href="#">Some link title in here.</a></div>
    <div class="inner"><a href="#">Some much longer link title in here.</a></div>
</div>
<p>block:</p>
<div class="outer">
    <div class="inner block"><a href="#">Some link title in here.</a></div>
    <div class="inner block"><a href="#">Some much longer link title in here.</a></div>
</div>

也在 Playground .

我可以以任何方式修改 CSS 和 HTML,容器具有 position: absolute。此外,背景是重复的图像,而不是纯色。

如何让文字后面的背景延伸到边缘?

最佳答案

只需将链接包装在另一个 div 中。如果每个链接都需要背景图片,请将它们附加到内部 div。如果您需要整个栏可点击,请翻转 <a>的和 <div>的。像这样:

<div class="outer">
    <div class="background">
        <a href="#"><div class="inner">Some link title in here.</div></a>
        <a href="#"><div class="inner">Some much longer link title in here.</div></a>
    </div>
</div>

.background {
    display: inline-block;
    white-space: nowrap;
}
.background .inner {
    background: none #ccc;
}

JsFiddle

希望这能考虑到您需要的一切。

关于html - 如何使元素背景在溢出时可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663133/

相关文章:

html - 如何删除文本输入和提交按钮之间的空格?

html - 如何将 SVG 插入按钮?

javascript - 如何浏览包含多个 html 源的网页?

html - CSS/Bootstrap/HTML - 无论缩放如何,如何使 div 成为父容器的 100% 高度?

html - 悬停放大时如何使图像保持原位?

javascript - radio 值检索

html - 无法在 css 中缩放图像

javascript - js 数据表中的单击事件(因分页而中断)

javascript - 使文本在看起来像 iPhone 表单的 html 页面中可选择

javascript - jQuery Mobile 中的自定义图标使用自定义主题失败