如果图像大于1,我希望图像重叠.但只显示3张图像,然后添加一个带加号的圆形,并保留图像数.我的问题是如何以正确的方式重叠它们?

Something like this

enter image description here

代码Sandbox :CLICK HERE

    <div className="resellers">
      {images.slice(0, 2).map((image, i) => (
        <span className="reseller" key={i}>
          <img src={image} alt="" />{" "}
        </span>
      ))}
    </div>
    {images.length > 2 && (
      <div className="plus">
        <span> + {images.length - 2} </span>
      </div>
    )}

推荐答案

resellers容器中的所有102+div元素呈现给Resellers.你需要以相反的顺序渲染化身,这样他们就可以正确地"overylay"右侧的化身.

密码

<Resellers>
  {!!images.slice(2).length && (
    <ResellerPlus>
      <span>+ {images.slice(2).length}</span>
    </ResellerPlus>
  )}
  {images
    .slice(0, 2)
    .reverse()
    .map((image, i) => (
      <Reseller key={i}>
        <img src={image} alt="reseller" />
      </Reseller>
    ))}
</Resellers>

样式化组件

const Resellers = styled.div`
  display: flex;
  align-items: center;
  flex-direction: row-reverse; // <-- un-reverse avatars
`;

将所有常见CSS收集到"Resellers"分区中.

const Reseller = styled.div`
  align-items: center;
  color: #fff;
  background-color: #bdbdbd;
  border: 4px solid #fff;      // <-- white space around
  border-radius: 50%;          // <-- circle divs
  display: flex;
  flex-direction: row;
  font-family: Nunito-Bold;
  font-size: 1rem;
  height: 40px;
  overflow: hidden;            // <-- hide edges of images
  text-align: center;          // <-- center text
  width: 40px;

  :not(:first-child) {
    margin-right: -0.5rem;     // <-- apply overlap
  }

  img {
    margin-right: 0.5rem;
    object-fit: contain;
  }
`;

const ResellerPlus = styled(Reseller)`
  font-family: Nunito-SemiBold;

  span {
    width: 100%;               // <-- help center text
  }
`;

Edit make-images-overlap-in-styled-components

enter image description here

Css相关问答推荐

JavaFX如何在Tableview中使用默认和自定义的列标题CSS样式?

如何以Angular 调整下拉控件的高度

在ReactJS中使用动画在栅格上添加柱

如何在容器查询体中重新定义:Root的CSS自定义属性值?

使用间距时奇怪的MUI网格行为

两列网格中左列第一个文本正下方的按钮

如何缩小 Select 元素的背景图像?

当滚动量较小时,在滚动问题上动画粘性导航

使用 React JS 和自定义 CSS 创建 Cookie 横幅

为什么同一个 CSS 类连续出现两次

在 React Native 中创建背景

CSS 在具有多个背景图像的元素上过滤一个背景图像

纯 CSS/JS 的 SVG 连续向内方形螺旋动画

圆形加载动画

使用 CSS 剪辑/裁剪背景图像

中心表单提交按钮 HTML / CSS

重置子元素的不透明度 - Maple Browser (Samsung TV App)

通过javascript删除或禁用浏览器的焦点边框

Bootstrap 3 Glyphicons CDN

弹性框中的边距折叠