父元素的内边距和子元素的右边距之间问题?

图片描述

设置了父元素的内边距为18,子元素像右浮动右外边距为25px,但怎样使每一行的最后一个没有右外边距?
或是有更好的方法。

阅读 5.5k
6 个回答

给父元素设置 margin-right: -25px; 即可,不需要 overflow: hidden;

也可以用 CSS3 的伪类选择器(IE 8 不支持):

.child {
    margin-right: 25px;
}
.child:nth-child(3n) {
    margin-right: 0;
}

前提是你得明确每行放几个,上边假设的是三个。如果想响应式,在设置多个宽度百分比的时候,记得同步修改。

给子元素设置的是margin-right:25px,导致每一行的最后本来能够放得下一个子元素,因为那个margin-right的原因可能就容不下了。这样就可以通过js去计算父元素的宽度,然后设置其宽度为 加上子元素的margin-right,再对父元素的父元素设置overflow-x:hidden;就可以了。
图片描述
图片描述

父元素marign-right负值。然后设置overflow:hidden。试试吧

父元素设置

margin-right:-25px

就可以了,爪机打,求赞

<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>
这样不行啊

右外边距改成左右外边距可以吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题