У меня есть оболочка <div>
с фиксированной шириной и внутренним <div>
, который содержит список из нескольких элементов, которые вместе шире родительского <div>
.
Как только содержимое становится шире, чем оболочка <div>
, я хочу вертикальную полосу прокрутки.
Это работает очень хорошо, но, к сожалению, внутренняя <div>
просто имеет такую же ширинукак моя обёрткаэлементы списка переполняют внутренний <div>
, но когда я устанавливаю цвет фона для внутреннего <div>
, он виден только для этой ширины оболочки <div>
.
Я хочу внутренний <div>
иметь ту же ширину, что и его дочерние элементы.
У кого-нибудь есть идеи, как решить эту проблему?
Вот пример кода:
.slider-wrapper {
width: 500px;
background: grey;
overflow: auto;
}
.slider-pane {
background: yellow;
padding: 20px 0;
}
ul {
margin: 0;
padding: 0;
display: flex;
list-style: none;
width: 100%;
background: red;
}
li {
width: 100px;
height: auto;
padding: 20px 0;
flex-shrink: 0;
}
<div class="slider-wrapper">
<div class="slider-pane">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
</ul>
</div>
</div>
Ссылка на легко редактируемый jsfiddle: https://jsfiddle.net/gcx9zws2/
Как видно из примера, красный ижелтый фон оканчивается на ширину элемента обертки.Но мне нужна такая же ширина как все элементы списка вместе.Я не знаю, сколько элементов будет в списке позже, поэтому предпочтительным является чистое решение CSS.
Спасибо за любую помощь.
Приветствия Marco