【问题标题】:Overflow-y: scroll with overflow-x: visible [duplicate]溢出-y:使用溢出-x滚动:可见[重复]
【发布时间】:2016-11-22 11:38:17
【问题描述】:

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

我这里有一个 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?

谢谢!

【问题讨论】:

  • @SeanLeBlanc,OP 的问题是询问元素是否可以在 y 轴设置为溢出滚动时沿 x 轴溢出。您发布的副本完全是一个不同的问题...
  • @HunterTurner 我引用的问题中的答案解释了为什么对 OP 问题的明显解决方案(即overflow-x:visible; overflow-y:auto;)不起作用并提供了一些解决方法。在这种情况下,只用问题的链接发表评论会更好吗?

标签: html css overflow


【解决方案1】:

阅读https://stackoverflow.com/a/6433475/4386196 后,答案似乎是否定的,这是不可能的。你需要设置overflow-x: visible,但由于你设置了overflow-y,所以它被视为auto,它隐藏了内容。

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

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

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

【讨论】:

  • 谢谢!我的情况与 OP 的情况略有不同——我需要为具有“overflow-x:隐藏”的 div 的子级设置“overflow-y:可见”。按照您的想法,我最终为孩子添加了“margin-top”和“margin-bottom”,并且成功了!
  • 你应该得到一个救生员徽章!?
猜你喜欢
  • 2011-07-09
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2011-09-19
相关资源
最近更新 更多