使用以下标记:
<div style="overflow: auto">
<select multiple="true" style="min-width: 300px;">
<option>a loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong string</option>
</select>
</div>
min-width 导致选择宽度为容器的 100%,即它不会溢出。删除最小宽度,使其溢出(这是所需的行为,但我也想要一个最小宽度,以便即使没有选项,框看起来也不错)。
如何做到这一点?min-width 影响 max-width 的事实让我感到不安。请注意,我只对 css 解决方案感兴趣,避免使用 javascript。
编辑:为了澄清,样式应该导致以下标记呈现一个空框,即 300px 宽:
<div>
<select multiple="true">
</select>
</div>
以下是渲染一个与其容器一样宽的框,并带有一个滚动条以允许查看其余部分:
<div>
<select multiple="true">
<option>a loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong string</option>
</select>
</div>