溢出-y:使用overflow-x滚动:可见

时间:2016-07-19 14:05:08

标签: html css overflow

是否可以从垂直滚动列表中水平溢出项目?

我在这里有一个codepen示例:

http://codepen.io/baskuipers/pen/GqQYRJ

var $item = $('#1'),
  $button = $('.button');

$button.on("click", function() {
  $item.toggleClass('addMargin');
});
.sidenav {
  width: 300px;
  background-color: grey;
  position: fixed;
  padding: 20px;
}
.addMargin {
  margin-left: 60px;
}
.item {
  width: 100%;
  overflow-y: auto;
  height: 100vh;
  z-index: 5;
  position: relative;
}
.sub-item {
  transition: margin-left 1s cubic-bezier(0.36, -0.48, 0, 2.22);
  background-color: orange;
  height: 100px;
  width: 100%;
  margin-bottom: 10px;
  z-index: 10;
  position: relative;
}
body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sidenav">
  <button class="button">test</button>
  <div class="item">
    <div id="1" class="sub-item"></div>
    <div class="sub-item"></div>
    <div class="sub-item"></div>
    <div class="sub-item"></div>
    <div class="sub-item"></div>
  </div>
</div>

在示例中,我希望将黄色项目从列表中删除。 关于滚动条的可见性不是问题。

有什么建议吗? CSS / JavaScript?

谢谢!

1 个答案:

答案 0 :(得分:0)

阅读https://stackoverflow.com/a/6433475/4386196之后,答案似乎不是,这是不可能的。您需要设置overflow-x: visible,但由于您已设置溢出-y,因此将其视为隐藏内容的auto

这可能并不能完全解决您的问题,但如果您添加:

margin-right: -100px; padding-right: 100px;

.item您可以移动滚动条并为框内的溢出提供更多空间。最近我可以找到解决方案。

相关问题