样式布局二、脱离文档流

脱离文档流

定义

文档流中:内联元素默认从左到右流,遇到阻碍或者宽度不够自动换行,继续按照从左到右的方式布局。块级元素单独占据一行,并按照从上到下的方式布局。

脱离文档流

  • 文档一旦脱离文档流,在算其父元素的高度时,就不包括其自身了。
  • 脱离文档流的方法:

1.float:left;2.position: absolute;3.position:fixed

一、float

使用float可以脱离文档流。

使用float脱离文档流时,其他盒子会无视这个元素,该元素会浮动于其他文档流之上。

注意!!!:其他盒子内的文本依然会为这个元素让出位置,环绕在该元素的周围。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .first {
            width: 200px;
            height: 200px;
            border: 1px solid red;
            float: left;
        }
        .second {
            width: 200px;
            height: 100px;
            border: 3px solid blue;
            background-color:blue;
        }
    </style>
</head>
<body>
<div class="first">123</div>
<div class="second">456</div>
 
</body>

结果:

[外链图片转存失败(img-GcmBWGuc-1567702554429)(/Users/ocean/Library/Application Support/typora-user-images/image-20190902194622006.png)]

二、position: absolute;

绝对定位(相对于父级的定位)

使用absolute脱离文档流后的元素,是相对于该元素的父类(及以上,如果直系父类元素不满足条件则继续向上查询)元素进行定位的,并且这个父类元素的position必须是非static定位的(static是默认定位方式)。

1.若只指定 position: absolute;

​ (1)相对于前面的元素则会以正常的文档流方式排练在前面的元素后面

​ (2) 相对于后面的元素,他将脱离于后面的文档流,后面的元素会无视该元素

[外链图片转存失败(img-pZ0Pa18T-1567702554430)(/Users/ocean/Library/Application Support/typora-user-images/image-20190906004045288.png)]

2.指定他的相对位置

(1)指定left right top bottom 之后会相对相应方向基于父类的位置,若只修改水平方向或者垂直方向的定位,则另一方向还是基于上一点布局

(2)如果修改画布大小,会根据父级元素的变化,发生相应的位置移动

[外链图片转存失败(img-h8lkQYbY-1567702554431)(/Users/ocean/Library/Application Support/typora-user-images/image-20190906004854750.png)]

三、 position: fixed;

完全脱离文档流,相对于浏览器窗口进行定位。(相对于浏览器窗口就是相对于html)。

1.若只指定position: fixed;不设置边距

​ 同position: absolute;

(1)相对于前面的元素则会以正常的文档流方式排练在前面的元素后面

​ (2) 相对于后面的元素,他将脱离于后面的文档流,后面的元素会无视该元素

2.指定边距

​ 相对于浏览器窗口定位

发布了76 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jiuweiC/article/details/100569968