我有这种弹性布局,完全按照我想要的方式在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不读取它,它确实给它一个边距,这使得它太宽,并使第五个盒子掉到最后。
问题
如何让IE的5列布局优雅地降级,而不会将第5项放到下一行。
可能的解决方案
我愿意接受任何想法或建议。谢谢!
答案 0 :(得分:0)
在头部包含元标记..
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
答案 1 :(得分:0)
CSS中存在语法错误:
* {margin: 0px; padding 0px'}
这会导致忽略所有CSS规则。您正在使用单引号关闭填充,删除它。
另外我想如果你使用display:inline-block;你会发现一个漂亮的流体网格布局。