通常情况下"/>

css怎么解决网页边距重叠?

css怎么解决网页边距重叠?下面本篇文章就来给大家介绍一下css边距重叠的几种解决方案。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

css怎么解决网页边距重叠?

下面给大家介绍用css防止边距重叠的几种方法。

先假设一组dom结构

<div class="parent">
    <div class="child">
    </div>
</div>

通常情况下,如果给子元素设置margin,就会产生这个属性对父元素也产生了同样的效果,然而

这其实不是我们想要的结果,我们只想对子元素设置margin,那么现在我们应该怎么做呢?

1、给父元素设置边框

.parent { 
    width: 300px;       
    height: 300px;
    border: 1px solid #ccc;
}
.child {
    width: 200px;
    height: 200px;
    margin: 20px;
}

2、给父元素添加padding

.parent {
    padding: 1px;
    width: 300px;
    height: 300px;
}
.child {
    width: 200px;
    height: 200px;
    margin: 20px;
}

3、在子元素上方加一个有宽高的兄弟元素,记住是有宽高的。

<div class="parent">
     <div style="width: 20px;height: 20px;margin-top: "></div>
     <div class="child">
     </div>
</div>

4、给父元素设置 overflow: hidden; 属性

.parent {
    overflow: hidden;
    width: 300px;
    height: 300px;
}
.child {
    width: 200px;
    height: 200px;
    margin: 20px;
}

5、给子元素设置 display: inline-block;(如果子元素是行内元素或者行内块级元素则不会产生边距重叠的问题)

.parent {
    width: 300px;
    height: 300px;
} 
.child {
    width: 200px;
    height: 200px;
    margin: 20px; 
    display: inline-block;
}

6、使子元素脱离文档流这个实现的方法有很多,浮动,绝对定位等,这里我就不做具体的解释了。

更多web开发知识,请查阅 HTML中文网 !!

以上就是css怎么解决网页边距重叠?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读