我正在使用一些带有flexbox的磁贴为网站准备hero元素。 hero元素具有一些变体,配置灵活:将瓦片嵌套可以获取所需的变体。这是一种变体,我无法理解为什么调整浏览器大小时,右侧的图像(垂直图块)会丢失该比例。如何按比例缩放整个网格?
顺便说一句,为什么我可以消除元素之间的蓝色间隙?这与刚性瓷砖的高度有关。

这是HTML

<div class="cover">
  <div class="tile is-ancestor">
    <div class="tile is-vertical is-2">
      <div class="tile is-child">
        <img src="https://s1.postimg.org/ga0s55bxr/cover1.jpg" />
      </div>
      <div class="tile is-child">
        <img src="https://s8.postimg.org/xnsnrs4x1/cover2.jpg" />
      </div>
    </div>
    <div class="tile">
      <img src="https://s1.postimg.org/n35qf5s4v/cover3.jpg" />
    </div>
  </div>
</div>


这是编译的CSS

.cover {
  max-width: 1080px;
  background-color: blue;
  margin: 0;
}
@media screen and (min-width: 1351px) {
  .cover {
    max-width: 1350px;
    margin: 0 -135px;
  }
}
.cover .tile {
  align-items: stretch;
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: min-content;
}
.cover .tile.is-child {
  margin: 0 !important;
}
.cover .tile.is-vertical {
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .cover .tile:not(.is-child) {
    display: flex;
  }
  .cover .tile.is-1 {
    flex: none;
    width: 33.33333%;
  }
  .cover .tile.is-2 {
    flex: none;
    width: 66.66667%;
  }
  .cover .tile.is-3 {
    flex: none;
    width: 100%;
  }
}


我还创建了一个codepen

最佳答案

这就是我如何做到这一切的方法。

您只需要定义IMG的宽度并确保更改弯曲方向即可。

一切都可以装箱。

在您的情况下,它是img,因此您需要从img上方弯曲一个

    .container {
    display:flex;

    }

    .container_left {display: flex;
                        flex: 1;
                        flex-direction:column}

    .left {
        flex:2;
        display: flex;
        align-items: stretch;
            }

.left img {max-width: 100%}
.right img {max-width: 100%}

    .right {
        flex:1;
    }

@media (max-width:768px) {
    .container{
        flex-direction: column


    }
}


我使用的html。您可以将其应用于代码。

    <div class="container">

    <div class="container_left">
            <div class="left"><img src="https://s1.postimg.org/ga0s55bxr/cover1.jpg" /></div>
            <div class="left"> <img src="https://s8.postimg.org/xnsnrs4x1/cover2.jpg" /></div>
        </div>

        <div class="right"> <img src="https://s1.postimg.org/n35qf5s4v/cover3.jpg" /></div>



    </div>


这是在codepen上为您服务

https://codepen.io/maffas/pen/zzxMxO

关于html - 如何按比例缩放此Flexbox瓷砖网格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44359026/

10-13 01:36