使用 CSS 将位置绝对元素宽度调整为内容

Fes*_*ter 2 html css

我试图将元素放在水平行中,以便我可以滚动它们,为此我制作了一个内部容器和一个外部容器。外部容器具有固定宽度,内部容器的宽度应由其内容决定,该宽度可以大于外部 div。

超文本标记语言

<div id="outer">
    <div id="inner">
        <ul>
            <li class="item"></li>
            <li class="item"></li>
            <li class="item"></li>
            <li class="item"></li>
            <li class="item"></li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#outer{
    width:250px;
    position: relative; /* required to make overflow hidden work */
     overflow:hidden;  /* commented to demonstrate the issue */
    background-color: lightgreen;
    height: 80px;
}

#inner {
    position: absolute;
     width: 1000px; /* <- needs to scale to content */
}

ul {
    margin: 0;
    padding: 0;
}

.item:first-child{
    margin-left:0;
}

.item {
    width: 100px;
    height: 80px;
    background-color: lightblue;
    margin-left: 10px;
    display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试单独使用 CSS 来解决这个问题,但到目前为止我还没有成功。对于这个问题,浏览器兼容性不是问题。

我拥有的

我拥有的

我想要的是

我想要的是

jsfiddle

tim*_*imo 5

使用white-space: nowrap;#inner

小提琴

空白属性