如何实现上图这样的效果?
外边的宽高固定,.container{width:1020px; position: relative; margin:64px 90px 0px;}
4张图片都采用浮动效果,img{float: left; display: block; margin:0 2px 4px;}
,但是最后一张无法到相应的位置,而出现了这样的情况,
请问该如何解决?
另外,为什么都float:left不成功呢?
如何实现上图这样的效果?
外边的宽高固定,.container{width:1020px; position: relative; margin:64px 90px 0px;}
4张图片都采用浮动效果,img{float: left; display: block; margin:0 2px 4px;}
,但是最后一张无法到相应的位置,而出现了这样的情况,
请问该如何解决?
另外,为什么都float:left不成功呢?
你应该把最后一张图片设为float: none;
看看。
没人说为什么都设为float:left
不行,其实查查w3c的规范就知道了
http://www.w3.org/TR/CSS21/visuren.html#float-position
Here are the precise rules that govern the behavior of floats:
...
5 The outer top of a floating box may not be higher than the outer top of any block or floated box generated by an element earlier in the source document.
粗略的翻译就是:
float元素的outer top(上沿包括margin)不能高于之前块级和浮动元素。
3 回答4.9k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.5k 阅读
2 回答1k 阅读✓ 已解决
2 回答2.2k 阅读
如果都是
float: left;
的话,那么你这个结构多少还是有点问题的,浮动了之后,后一个元素会跟着前一个元素的位置走,所以第四个会在第三个旁边。不过这个时候你可以设置一个
margin-top: -150px;
这样的值来把第四个拉上去,但是这样的话,前提要求知道前面几个元素的高度。也或者可以考虑通过绝对定位的方式把第四个定位在最后的位置,在外围容器
.container
中设置padding-right
留出空间给第四个元素。再或者可以试一下下面这样的代码,随手在chrome里做的测试是OK,其他浏览器没测试过。