我的菜单中使用了类似于此的内容 - 现实中的红线具有图像背景,并应突出显示整个内容或全角。Make:在父元素溢出后元素展开为全宽
它可以在大屏幕上正常工作,但对于较小的(这里通过设置宽度进行模拟),红线在实际内容之前结束。
任何方式使其扩大到全宽?
(我可以使用JavaScript(jQuery的连),但我不希望)
.outer {
font-size: 16pt;
}
.menu {
width: 100%;
overflow-x: auto;
white-space: nowrap;
position:relative;
}
.menu:after {
content:'';
background-color:red;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2px;
}
<div class="outer">
<div class="menu">
This is on desktop and everything is fine.
</div>
</div>
<div class="outer" style="width: 200px">
<div class="menu">
This is on phone, the content overflows as you can see.
</div>
</div>
所以这是造成这种情况的空白? – MightyPork 2015-03-03 10:14:36
是的。您的背景将会延伸至100%,但由于您的副本不会中断,因此会延伸并溢出。另一个解决方法是将背景位置设置为固定,这样您可以滚动查看文本,但bg保持固定位置(尽管我不会为移动设备推荐此选项)。 – denisol 2015-03-03 10:19:18