我正在尝试使用磁贴创建响应式菜单。
下面的示例在菜单中成功,当视口变得太窄时,它的图块开始缩小(widht-wise),但它在按比例缩小图块时失败。我试过在所有的宽度, max-width , height , max-height 上摆弄图层, height:auto; 属性。没有任何效果。
我基于 flexbox的wrap属性的菜单,因为它允许我在断点处更改网格布局而不会破坏HTML结构,我想避免使用CSS网格由于浏览器支持不足。
重要提示:将剪裁展开至全屏以观察收缩效果。
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.tile-group {
background-color: antiquewhite;
display: flex;
flex-wrap: wrap;
width: 100%;
max-width: 608px;
}
.tile-padding {
width: 152px;
height: 107px;
padding: 1px;
max-width: 25%;
}
.tile {
background-color: antiquewhite;
width: 100%;
height: 100%;
}
.tile-color-1 {
background-color: red;
}
.tile-color-2 {
background-color: blue;
}
.tile-color-3 {
background-color: green;
}
.tile-color-4 {
background-color: yellow;
}
.tile-color-5 {
background-color: indianred;
}
.tile-color-6 {
background-color: skyblue;
}
.tile-color-7 {
background-color: darkseagreen;
}
.tile-color-8 {
background-color: greenyellow;
}

<div class="tile-group">
<div class="tile-padding">
<div class="tile tile-color-1"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-2"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-3"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-4"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-5"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-6"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-7"></div>
</div>
<div class="tile-padding">
<div class="tile tile-color-8"></div>
</div>
</div>
&#13;