首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2D css滚动单元

2D css滚动单元
EN

Stack Overflow用户
提问于 2022-10-18 19:39:22
回答 1查看 16关注 0票数 0

我尝试在2D滚动窗口中使用CSS scroll-snap,但它在X方向上不起作用。知道怎么解决这个问题吗?

代码语言:javascript
复制
.scroll-y,
.scroll-x,
.box {
  height: 100px;
  font-size: 80px;
  color: white;
}

.scroll-y {
  overflow: auto;
  scroll-snap-type: y proximity;
  max-width: 100px;
  margin: 0 auto;
  border: 5px solid #666
}

.scroll-x{
  scroll-snap-type: x proximity;
  scroll-snap-align: start;
  display: flex;
  overflow: auto;
  min-width: 200px;
}

.box {
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  background: coral
}

.scroll-x:nth-child(even) .box:nth-child(even),
.scroll-x:nth-child(odd) .box:nth-child(odd){
  background: gold
}
代码语言:javascript
复制
<div class="scroll-y">
  <div class="scroll-x">
      <div class="box">1</div>
      <div class="box">2</div>
  </div>
  <div class="scroll-x">
      <div class="box">3</div>
      <div class="box">4</div>
  </div>
  <div class="scroll-x">
      <div class="box">5</div>
      <div class="box">6</div>
  </div>
  <div class="scroll-x">
      <div class="box">7</div>
      <div class="box">8</div>
  </div>
  <div class="scroll-x">
      <div class="box">9</div>
      <div class="box">10</div>
  </div>
</div>

EN

回答 1

Stack Overflow用户

发布于 2022-10-20 02:44:02

我找到了解决办法。没有必要将每一行分开,并将它们放在另一个div中。scroll-snap-type对x和y都使用both

代码语言:javascript
复制
* {
  text-align: center;
  box-sizing: border-box;
}

.scroll,
.container,
.box {
  height: 100px;
  font-size: 80px;
  color: white;
}

.scroll {
  overflow: auto;
  scroll-snap-type: both mandatory;
  max-width: 100px;
  margin: 0 auto;
  border: 5px solid #666
}

.container{
  min-width: 300px;
}

.box {
  scroll-snap-align: start;
  float: left;
  text-align: center;
  width: 100px;
  background: coral;
}

.box:nth-child(odd){
  background: gold
}
代码语言:javascript
复制
<div class="scroll">
  <div class="container">
      <div class="box">1</div>
      <div class="box">2</div>
      <div class="box">3</div>
      <div class="box">4</div>
      <div class="box">5</div>
      <div class="box">6</div>
      <div class="box">7</div>
      <div class="box">8</div>
      <div class="box">9</div>
      <div class="box">10</div>
  </div>
</div>

Scroll in both directions inside the box:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74116606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档