如何使用 HTML、CSS 和 React 创建水平滚动组件?

问题描述 投票:0回答:1

我正在制作一个水平滚动组件,例如 instagram 故事。但我不知道该怎么做? 这是我想要做的:

.scroller{
  height: 125px;
  width: 300px;
  background-color: blue;
  overflow-x: scroll;
  overflow-y: hidden;
}
.itemContainer{
  display: flex;
}
.item{
  display: inline-block;
  width: 100px;
  height: 100px;
  background-color: lime;
  margin: 5px;
}
<div class="scroller">
   <div class="itemContainer">
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
  </div>
</div>

我尝试使用 flexbox 属性,但无济于事。我还尝试使用块和内联块元素来使项目溢出。

html css reactjs frontend horizontal-scrolling
1个回答
0
投票

你需要给弹性物品

flex-shrink: 0
所以它们的宽度不会因为容器空间不足而崩溃。

.scroller{
  height: 125px;
  width: 300px;
  background-color: blue;
  overflow-x: scroll;
  overflow-y: hidden;
}
.itemContainer{
  display: flex;
}
.item{
  flex-shrink: 0; /*added*/
  display: inline-block;
  width: 100px;
  height: 100px;
  background-color: lime;
  margin: 5px;
}
<div class="scroller">
   <div class="itemContainer">
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
     <div class="item"></div>
  </div>
</div>

© www.soinside.com 2019 - 2024. All rights reserved.