目录
(1)一个空白的div中,如果不进行任何尺寸的设定,并且div里面没有任何内容时,div是没有高度的:
(2)当在div中添加内容时候:div中内容的高度就是div的高度;即div中的内容会把div给撑起来;
(3.1)可以认为给div设置高度:div的宽度默认充满其所在父一级元素的宽度。(div默认的高度和宽度)
(3.2)可以认为给div设置高度:div的宽度默认充满其所在父一级元素的宽度。(div默认的高度和宽度)
(4)总结:元素的宽度默认占满父一级元素;;;;元素的高度由子元素撑起来。
3.额外测试:(父一级元素是浮动,子一级也是浮动的情况等)瞎测着玩的;(这部分主要是包裹特性,暂时作废,看下篇博客)
(1)示例一:当把div1,div2,div3都设成float时:
(4)示例四:div1设成浮动,其子元素非浮动时:(这个和下篇博客的包裹特性有关)
float崩溃又称float破坏、崩塌,崩溃也可称作高度塌陷:核心内容是,浮动的子元素不能撑起非浮动的父元素。
以为div为例时,float崩溃指,当子div2设置成float后,然后这个浮动的div2在一个非父div1中;div2的高度不会撑起div1的高度;下面详细解释。
一:float崩溃
1:正常的情况,不会出现崩溃的情况
(1)一个空白的div中,如果不进行任何尺寸的设定,并且div里面没有任何内容时,div是没有高度的:
<!DOCTYPE html>
<html>
<head>
<title>float崩溃演示</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<div id="div1"></div>
</body>
</html>
#div1{
border-width: 1px;
border-style: solid;
border-color: black;
}
效果:
(2)当在div中添加内容时候:div中内容的高度就是div的高度;即div中的内容会把div给撑起来;
效果:
(3.1)可以认为给div设置高度:div的宽度默认充满其所在父一级元素的宽度。(div默认的高度和宽度)
效果:可以发现并没有给div设置宽度,但div的显示效果是布满了整个浏览器的屏幕宽度。为什么?
解答:更准确的说法是,div布满了所在的上一级容器的宽度;该程序中,div所在的上一级容器就是<body>;此时<body>的宽度,就默认作为div的宽度。
即在没有设置div尺寸的情况下,div的高度就是div里面内容的高度;div的宽度就是div所处上一级容器的宽度!!!!!
(3.2)可以认为给div设置高度:div的宽度默认充满其所在父一级元素的宽度。(div默认的高度和宽度)
<!DOCTYPE html>
<html>
<head>
<title>float崩溃演示</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<div id="div1">
<div id="div2"></div>
&l