在DIV中包装图像,同时保留现有的网格灵活性

时间:2012-09-10 18:29:29

标签: css css3

我目前有一个图像网格,可根据窗口和容器的大小进行适当缩放。

http://jsfiddle.net/AndyMP/2zND2/13/

到目前为止,我已经尝试过并且未能在不破坏现有结构的情况下将DIV包裹在图像周围。我怎么能这样做?

CSS

#photos {
   /* Prevent vertical gaps */
   line-height: 0;
   width: 100%;
}
#photos img {
  /* Just in case there are inline attributes */
  width: 20%;
  height: auto;
  float:left;
  overflow:hidden;
}

@media (min-width:1200px) {
  #photos img {
  /* 5 images wide */
  width: 19.2% ; margin: 0 1% 1% 0;
  }
  #photos img:nth-child(5n) { margin: 0 0 1% 0; }
}

@media (min-width:800px) and (max-width: 1200px) {
  #photos img {
  /* 5 images wide */
  width: 19.2% ; margin: 0 1% 1% 0;
  }
  #photos img:nth-child(5n) { margin: 0 0 1% 0; }
}

@media (min-width:400px) and (max-width: 800px) {
  #photos img {
  /* 4 images wide */
  width: 24.25% ; margin: 0 1% 1% 0;
  }
  #photos img:nth-child(4n) { margin: 0 0 1% 0; }
}

@media (min-width:300px) and (max-width: 400px) {
  #photos img {
  /* 2 images wide */
  width: 49% ; margin: 0 2% 2% 0;
  }
  #photos img:nth-child(2n) { margin: 0 0 2% 0; }
}

@media (max-width: 300px) {
  #photos img {
  /* 1 image wide */
  width: 100% ; margin: 0 0 2% 0;
  }
}

1 个答案:

答案 0 :(得分:1)

首先,这是应用我要提及的步骤后应该得到的最终结果:little link

1)img中的每个div换行。

2)添加CSS规则:

#photos div {
    display: inline-block;
}

3)将您的所有选择器#photos img更改为#photos div

4)添加:

#photos div img {
    width: 100%;
}