【发布时间】:2014-09-04 14:09:14
【问题描述】:
我正在尝试制作一个网页布局,当您调整 浏览器的高度,图像全部放大或缩小取决于 高度。在下面的例子中,我的图像是 10% 窗口的高度。
HTML sn-p:
<ul class="image-list">
<li class="image-list__item">
<img class="image-list__image"
height="200" width="300"
src="http://lorempixel.com/300/200/sports/1/" />
</li>
<li class="image-list__item">
<img class="image-list__image"
height="200" width="300"
src="http://lorempixel.com/300/200/sports/2/" />
</li>
<li class="image-list__item">
<img class="image-list__image"
height="200" width="300"
src="http://lorempixel.com/300/200/sports/3/" />
</li>
<li class="image-list__item">
<img class="image-list__image"
height="200" width="300"
src="http://lorempixel.com/300/200/sports/4/" />
</li>
</ul>
CSS:
html,
body {
height: 100%;
}
.image-list {
display: block;
height: 10%;
list-style: none;
margin-bottom: 0;
margin-top: 0;
padding-left: 0;
}
.image-list__item {
box-sizing: border-box;
border: 5px solid hotpink;
display: inline-block;
height: 100%;
list-style-image: none;
list-style-type: none;
margin-left: 0;
}
.image-list__image {
max-height: 100%;
width: auto;
}
Codepen:http://codepen.io/casr/pen/ojyrn/
我在下面附上了网络浏览器的真实效果图,但是 这是我测试过的 4 种浏览器的总结(Chrome, Firefox、IE 和 Safari):
- Chrome、IE 和 Safari 能够呈现所需的外观 页面加载/刷新。然而,Safari 是唯一支持的浏览器 当浏览器窗口的 高度已调整。 Firefox 在容器内有一个填充 页面加载时。
- Chrome 在缩小时会破坏图像的纵横比。在 展开,图像从粉红色的容器中分离出来。收缩 或扩展不会改变粉色容器的宽度。
- Firefox 和 IE 不会将粉色容器的宽度更改为 高度会发生变化,但是,图像的高度会调整 正确并保持纵横比。
如果您对如何解决此问题有任何想法或有任何建议,请访问 我很想讨论一下。快把我逼疯了!
【问题讨论】:
-
首先,从 HTML/内联 CSS 中删除图像尺寸。
-
我在这里做了一个简化的例子来演示,但在工作版本中,我加载了很多缩略图,并且放入尺寸加速了页面的初始渲染。
-
是的,但响应式图像的基本要素是它们没有定义尺寸。
-
对不起@Paulie_D,我没有经历过。你有例子吗?
标签: css internet-explorer google-chrome firefox responsive-design