【发布时间】:2011-09-19 07:13:54
【问题描述】:
假设你有一些样式和标记:
ul
{
white-space: nowrap;
overflow-x: visible;
overflow-y: hidden;
/* added width so it would work in the snippet */
width: 100px;
}
li
{
display: inline-block;
}
<div>
<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>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>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>
</ul>
</div>
当您查看此内容时。 <ul> 在底部有一个滚动条,尽管我已经为溢出 x/y 指定了可见和隐藏值。
(在 Chrome 11 和 Opera (?) 上观察到)
我猜肯定有一些 w3c 规范或某些东西告诉这种情况发生,但对于我的生活,我无法弄清楚为什么。
更新:-我找到了一种方法来获得相同的结果,方法是在ul 周围添加另一个元素。 Check it out.
【问题讨论】:
-
你想要的结果是什么? jsfiddle.net/Kyle_Sevenoaks/3xv6A/2
-
@kyle 它应该看起来更像:jsfiddle.net/3xv6A/5 不幸的是,如果我设置
overflow-x hidden;它会删除滚动,但因为我需要 li 元素来隐藏底部的边框,所以它给出了所需的虚线效果。我不明白为什么overflow-x: visible创建滚动条。它不应该afaik。 -
@JamesKhoury 你能详细说明一下你的解决方案吗?我真的不能让它工作
-
@GeorgeKatsanos 解决方法:jsfiddle.net/3xv6A/9 依赖于父级为
overflow: hidden;和插入在<ul>周围的子级为overflow: visible。 -
@JamesKhoury 你认为它适用于embed.plnkr.co/2rbaISwvzuKhyPEFpBKD