设置了父元素的内边距为18,子元素像右浮动右外边距为25px,但怎样使每一行的最后一个没有右外边距?
或是有更好的方法。
给子元素设置的是margin-right:25px
,导致每一行的最后本来能够放得下一个子元素,因为那个margin-right
的原因可能就容不下了。这样就可以通过js去计算父元素的宽度,然后设置其宽度为 加上子元素的margin-right
,再对父元素的父元素设置overflow-x:hidden
;就可以了。
<style type="text/css">
ul{clear:both; width:460px;margin-right:-20px;overflow:hidden;}
li{float:left; margin-right:20px;width:100px;height:100px;background:red;}
</style>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
这样不行啊
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
给父元素设置
margin-right: -25px;
即可,不需要overflow: hidden;
。也可以用 CSS3 的伪类选择器(IE 8 不支持):
前提是你得明确每行放几个,上边假设的是三个。如果想响应式,在设置多个宽度百分比的时候,记得同步修改。