子元素margin-top问题

来源:3-23 margin外边距属性

Ranbo2016

2018-01-21 13:29:44

老师好,为什么子元素可以设置margin-left没问题,但是效果是margin-top是他的父元素的外边距,这是老师的代码,

http://img.mukewang.com/climg/5a6425340001975905240410.jpg

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>pdding和margin</title>
</head>
<style type="text/css">
    body,p{margin:0;}
/*.one{width:300px;height:300px;background-color: #acacac;padding-top:20px;padding-left:30px;padding-bottom:50px;padding-right: 40px;}*/
/*.one{width:300px;height:300px;background-color: #acacac;
     padding:20px 10px 5px 8px;}*/
/*.content{width:100%;height:100%;background-color: #ececec;}*/
/*.one{width:300px;height:300px;background-color: #acacac;
margin:10px 5px 8px 20px;}*/
/*.one{width:300px;height:300px;background-color: #acacac;
margin:auto;}*/
.content{width:100px;height:100px;background-color: #ececec;margin-left:100px;margin-top:100px;}
.one{width:300px;height:300px;background-color: #acacac;margin-bottom: 20px;}
</style>
<body>
<!-- <div class="one"><div class="content">padding属性</div></div> -->
<div class="one">
<div class="content">margin属性</div>
</div>

<!-- <p>123</p> -->
</body>
</html>


写回答

2回答

好帮手慕糖

2018-01-22

你好,这是一个css hack 问题 ,外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,解决方案:

1、为父元素增加padding-top样式
2、为父元素添加overflow:hidden; 
3、为父元素或者子元素声明浮动
4、为父元素添加border(border:1px solid transparent) 
5、为父元素或者子元素声明绝对定位

祝学习愉快。

0

前端小白kobe

2018-01-21

垂直方向两个元素都有外边距,会发生合并,取最大值

0

0 学习 · 36712 问题

查看课程