【发布时间】:2016-04-26 23:21:01
【问题描述】:
我有 15 张图片,我将它们显示在五列三行的网格中。使用媒体查询,我正在减小不同分辨率的大小,并希望以特定分辨率更改布局,因此每行三个而不是五个。
我正在使用宽度为 20% 的浮动分区来进行布局,但是当我将样式更改为 33% 时,前两行工作,然后在第三行,您只会在右侧看到一个图像,然后其他行按您的预期工作。
代码开头是这样的:
<div class="catalogue" style="display: inline-block;">
<div class="catalogue-items">
<img alt="Item1" src="/images/item1.png" style="width: 200px; height: 160px;" /></div>
<div class="catalogue-items">
<img alt="Item2" src="/images/item2.png" style="width: 204px; height: 160px;" /></div>
<div class="catalogue-items">
<img alt="Item3" src="/images/item3.png" style="width: 200px; height: 160px;" /></div>
<div class="catalogue-items">
<img alt="Item4" src="/images/item4.png" style="width: 199px; height: 160px;" /></div>
.
.
.
<div class="catalogue-items">
<img alt="Item15" src="/images/item15.png" style="width: 199px; height: 160px;" /></div></div>
初始样式为:
.catalogue{
width: 1200px;
margin: 0 auto;
padding-top: 26px;
}
.catalogue-items{
width: 20%;
text-align: center;
float: left;
padding-bottom: 13px;
}
改变它们的样式是:
@media (max-width: 751px) {
.catalogue{ width: 658px;}
.catalogue-items { width: 33% !important;}
.catalogue-items img{ width: 112px !important;}
}
如果我检查元素并删除图像上的一侧,它会正确显示,只是图像比我想要的大。如果我将该样式的大小更改为图像的大小,它将不起作用。
有谁知道我做错了什么?
【问题讨论】:
-
为什么我需要使用 flex?当然,这不应该是一个要求。
-
尝试
width: calc(100% / 3)或width:33.3333%。理想情况下,您希望尺寸尽可能接近 1/3。 -
这些选项都没有任何区别。
-
这看起来对我有用。你在期待什么? JSFiddle