第一个子元素的margin-top和最后一个子元素的margin-bottom越界问题
当父元素没有边框border时,子元素加margin-top(这里以第一个子元素的 margin-top为例),会出现 margin-top加在父元素上的bug。
解决方法有四种:1.给父元素加border。
2.给父元素加padding。
3.给父元素加overflow:hidden。
4.(推荐使用) 给父元素加前置内容生成。
css 四种方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#parent{
width
:
300px
;
height
:
200px
;
background-color
:yellow;
/*①给父元素加border*/
/*border:1px solid black;*/
/*②给父元素加padding*/
/* padding-top:10px;*/
/*③给父元素加overflow:hidden*/
/*overflow:hidden;*/
/*④ 给父元素加前置内容生成*/
}
#parent:before{
content
:
" "
;
display
:table;
}
#child{
width
:
100px
;
height
:
50px
;
background-color
:
red
;
margin-top
:
50px
;
}
|
这是html页面:
1
2
3
|
<
div
id="parent">
<
div
id="child"></
div
>
</
div
>
|