【发布时间】:2014-04-02 13:25:34
【问题描述】:
我有这个弹性布局,它可以在 Chrome 和任何主要浏览器中完全按照我的要求工作,除了忽略 @media 查询的 IE。
http://jsfiddle.net/U2W72/17/embedded/result/
* {margin: 0px; padding 0px'}
.thumb {
float: left;
width:16.8%;
margin-left: 2%;
margin-right: 2%;
margin-bottom: 4%;
background: pink;
height: 200px;
}
.thumb:nth-child(5n) {
margin-right: 0px;
}
.thumb:nth-child(5n+1) {
margin-left: 0px;
}
@media (max-width: 1200px) {
.thumb, .thumb:nth-child(1n) {
width:22%;
margin-left: 2%;
margin-right: 2%;
margin-bottom: 4%;
}
.thumb:nth-child(4n) {
margin-right:0;
}
.thumb:nth-child(4n+1) {
margin-left:0;
}
}
@media (max-width: 600px) {
.thumb, .thumb:nth-child(1n) {
width:48%;
}
.thumb:nth-child(2n) {
margin-right:0;
}
.thumb:nth-child(2n+1) {
margin-left:0;
}
}
@media (max-width: 400px) {
.thumb, .thumb:nth-child(1n) {
width:100%;
margin-left: 0px;
margin-right: 0px;
}
}
问题
虽然我对它的弹性方面不起作用,但它是媒体查询告诉它在左右项目上没有边距,并且由于 IE 不读取它,它确实给它一个边距,这使得它太宽,并从末端掉落了第 5 个框。
问题
如何让 IE 的 5 列布局优雅地降级,而不会将第 5 项放到下一行。
可能的解决方案
- 编写一个仅限 IE 的 CSS 规则,将 IE 中的框宽度设置为 16% 而不是 16.8%
- 将默认布局设为 16%,然后使用 @media 将宽度覆盖为 16.8% 以适应兼容的浏览器
我愿意接受任何想法或建议。谢谢!
【问题讨论】:
标签: html css internet-explorer cross-browser