子网格布局的问题不是高度为100%

时间:2020-03-08 19:00:09

标签: css reactjs

由于某种原因,我无法使我的图像高出100%,看起来像是填充底部,我尝试了所有操作,但找不到错误所在: 我不知道问题出在我的网格布局上 带有我的img标签的意思 代码

JSX:

 <GallerySection>
      <Container>
        <div
          style={{
            display: "flex",
            alignItems: "center",
            paddingBottom: "20px"
          }}
        >
          <FontAwesomeIcon
            className="adjust"
            icon={faNewspaper}
            size="2x"
            fixedWidth
            color="#fff"
          />
          <h3>Galeria de Fotos</h3>
        </div>
        <div className="grid_gallery">
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div className="bg">
              <img src="https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg" />
            </div>
          </div>
          <div class="gallery_item">
            <div class="description">
              <p>Lorem ipsum dolor sit amet</p>
            </div>
          </div>
          <div class="gallery_item">
            <div class="description">
              <p>Lorem ipsum dolor sit amet</p>
            </div>
          </div>
          <div class="gallery_item">
            <div class="description">
              <p>Lorem ipsum dolor sit amet</p>
            </div>
          </div>
        </div>
      </Container>
    </GallerySection>

JS中的CSS:

export const GallerySection = styled.div`
  width: 100%;
  display: flex;
  flex-direction: column;
  outline: none;
  background: #004fff;
  position: relative;
  padding: 64px 0;
  clip-path: polygon(0 0, 100% 2vw, 100% calc(100% - 2vw), 0 100%);
  h3 {
    padding-left: 10px;
    font-family: "Poppins", sans-serif;
    font-size: 28px;
    font-weight: 700;
    outline: none;
    color: #fff;
  }
  & .bg {
    height: 100%;
    border: 1px solid white;
    img {
      width: 100%;
      height: 100%;
    }
  }
  & .grid_gallery {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto;
  }
  & .description {
    padding: 0 10px;
    color: white;
    border-left: 2px solid #fff;
  }
  & .gallery_item:nth-last-child(-n + 3) {
    grid-column: span 2;
  }
  & .gallery_item:nth-of-type(1),
  & .gallery_item:nth-of-type(2),
  & .gallery_item:nth-of-type(3) {
    grid-column: span 2;
  }
  & .gallery_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
`;

示例:

https://codesandbox.io/s/kind-wind-mso42

img:

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要添加display:block来消除“填充”(这是因为默认情况下图像是内联块):

img {
  display:block;
  width: 100%;
  height: 100%;
}

这解决了这个问题。