html - 使具有覆盖层的图像 div 完全响应?

标签 html css responsive-design

我过去已经完成了相当多的响应式网站,但正在努力应对这种情况。

我想产生这样的效果: http://playwp.equiet.sk/

我已经为其中一个图像 div 创建了一个我所做的 jsfiddle。我已经删除了我添加的响应方面,因为我无法让它与覆盖层一起正常运行,并且希望有人可以帮助我解决这个问题。

这是我想要响应式的 jsfiddle: http://jsfiddle.net/mattmagi/ZS7ZA/1/

<div class="one">
  <img src="http://tst.eclipsecreative.ca/3clips3/wp-content/uploads/2013/01/team.jpg"/>
    <div class="two">
      <img src="http://tst.eclipsecreative.ca/3clips3/wp-content/uploads/2013/01/team-hover.jpg"/>
      <div class="info">
        <p class="name">Sally Salamander</p>
        <p class="position">Account Manager</p>
      </div>
      <div class="social">
        <a href="#"><img src="http://www.tompeters.com/_/i/twitter-icon.png" /></a> <a href="#"><img src="http://www.tompeters.com/_/i/twitter-icon.png" /></a> <a href="#"><img src="http://www.tompeters.com/_/i/twitter-icon.png" /></a>
      </div>
  </div>
</div>


.one {
    position: relative;
    background-color: transparent;
}
.two {
    position: relative;
    top: -364px;
    left: 0px;
}
.info {
position: relative;
top: -365px;
padding-top: 30px;
padding-left: 30px;
background-color: transparent;
}
.social {
position: relative;
top: -365px;
padding-top: 15px;
padding-left: 30px;
background-color: transparent;
}
.name {font-size: 24px;}
.position {font-size: 16px;}


编辑:好的,这是我的意思的另一个例子(忽略悬停故障): http://jsfiddle.net/mattmagi/3d5Jr/

这些 block 将向左浮动,因此当您的浏览器变大时,会显示更多 block ,但是当其尺寸介于中间时,我希望它自动填充浏览器,这样图像右侧就不会出现任何空白,所以让它适合。

提前致谢。

最佳答案

您应该使用media queries和百分比宽度..

这样,您就可以在媒体查询中通过指定子元素的宽度(以完美加起来为 100% 的百分比)来定义所需的列数,并使图像成为width:100% 在这些元素中你可以让它们自动缩放..

演示位于 http://jsfiddle.net/gaby/Yz7mf/1/
(全屏显示http://fiddle.jshell.net/gaby/Yz7mf/1/show/light/)

所以对于结构

<div id="container">
  <div class="item"><img src="http://lorempixel.com/200/150/city/1" /></div>
  <div class="item"><img src="http://lorempixel.com/200/150/city/2" /></div>
  <div class="item"><img src="http://lorempixel.com/200/150/city/3" /></div>
  <div class="item"><img src="http://lorempixel.com/200/150/city/4" /></div>
  <div class="item"><img src="http://lorempixel.com/200/150/city/5" /></div>
  <div class="item"><img src="http://lorempixel.com/200/150/city/6" /></div>
</div>

你可以使用CSS

#container{
    overflow:auto;
}
#container > div{
    float:left;
}
#container > div > img{
    width:100%;
    display:block;
}

@media screen and (max-width:400px){
  #container > div{
    width:50%;
  }
}
@media screen and (min-width:401px) and (max-width:600px){
  #container > div{
    width:25%;
  }
}
@media screen and (min-width:601px){
  #container > div{
    width:20%;
  }
}

这意味着当浏览器宽度不超过 400 像素时,使用 2 列,宽度在 401 像素到 600 像素之间时,使用 4 列,宽度大于 600 像素时,使用 5 列。

关于html - 使具有覆盖层的图像 div 完全响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369372/

相关文章:

html - Clearfix 将内容下推

html - 如何在类似 metro 的 web GUI 中定位图标? (包括图像)

javascript - 将动画插入到形状的 div 中

javascript - 穿过带有文本/无图像的 Canvas 元素

html - 仅在 HTML 和 CSS 中具有自动缩放的图像网格

javascript - 如何在背景图片下添加背景颜色?

javascript - 点和线坐标之间的kineticjs关系

css - 具有淡入淡出效果的完整背景图像

css - iOS 上的 Safari 在使用 background-clip 和 text-fill-color 结合一些伪元素时不显示文本

html - 无法将标题内的文本居中