我们说我有一张桌子,有这样的栏目。我想避免窗口溢出窗外,所以我用div包装它:
<div class="table-wrapper">
<table>
<!-- etc. -->
</table>
</div>
我给那个div下面的CSS:
.table-wrapper {
overflow: auto;
}
一段时间以来效果很好。但后来我需要一个包含<select>
元素列的表。在这种情况下,我不希望表格滚动,我更喜欢选择在包装器之外(而不是令人不舒服的内部滚动)。我认为将它分成x和y将是它:
.table-wrapper {
overflow-x: auto;
overflow-y: visible;
}
但显然不是。出于某种原因,overflow-y
没有被考虑在内,表格仍然使用y轴的滚动。这是demo显示的内容。这是理想的行为
visible
)这里的解决方案是什么?
更新
如果您对
visible
或overflow-x
和overflow-y
使用visible
对于另一个,visible
以外的东西。auto
值为。{1} 解释为visible
。
它就像一个隐性基因,只有在其他一切都是auto
的情况下才有效,如果你将另一个轴定义为其他任何轴,它会自动符合W3C
,因为{{1}}讨厌任何意义,并喜欢让我的生活更加困难。
所以现在看起来我正在寻找的答案是各种各样的hacky解决方法(除非绝对没有其他选择,否则使用宽度或高度的特定像素不是公认的解决方案。 #39; on,我需要比那更灵活 tad
答案 0 :(得分:3)
尝试使用
.table-wrapper {
overflow-x: auto; //allows the div to scroll horizontally only when the div overflows.
overflow-y: hidden; //does not allow for the div to scroll vertically
}
答案 1 :(得分:0)
即使使用jquery隐藏溢出,也可以沿x轴滚动。 此代码将滚动x轴。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type='text/javascript' src='/js/jquery.mousewheel.min.js'></script>
<script type="text/javascript">
$(function() {
$("YourSelector").mousewheel(function(event, delta) {
this.scrollLeft -= (delta * 30);
event.preventDefault();
});
});
</script>