浮动的作用

作者: 奶不加糖 | 来源:发表于2020-11-20 08:58 被阅读0次

我们先来随便定义三个box

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8>"
        <title>浮动</title>
        <style type="text/css">
            .box1{
                width:200px;
                height:200px;
                background-color: red;
            }
            .box2{
                width:200px;
                height:200px;
                background-color:yellow;
            }
            .box3{
                width:200px;
                height:200px;
                background-color: green;
            }
        </style>
    </head>
    <body>
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="box3"></div>
    </body>
</html>

可以发现这三个box是竖着排列的。因为块元素在文档流中是默认垂直排列的,所以这三个div自上至下依次排开。这种情况影响了我们对网页的布局,我们要如何让它可以横向排列呢?不妨给它们都加上下面这一行语句试试。

display:inline-block;/*行内块元素*/

好啦它横过来了,但是我们又发现一个新的问题。我们并没有设置块间距,但是结果显示块与块之间存在着间距是怎么回事呢?因为行内块元素可以理解为文字,div之间的空格引起的。解决方法:

<div class="box1"></div><div class="box2"></div><div class="box3"></div>

既然块元素在文档流里垂直排列,那我们是不是可以考虑让它脱离文档流?因此我们可以使用float来使元素浮动。

float可选值:
1、none,默认值,元素默认在文档流中排列
2、left,元素会立即脱离文档流,向页面的左侧浮动
3、Right,元素会立即脱离文档流,向页面的右侧浮动

我们把box1设一个float:right;看看结果


可以看到box1向右浮动了,其余块依旧是垂直排列。元素浮动后会尽量向页面的左上或者右上漂浮,直到遇到父元素边框。如果浮动元素上边是一个没有浮动的块元素,则浮动元素不会超过块元素。如果一行中不能容下该元素,则会自动换行。我们把box1调宽看看结果如何

.box1{
                float:left;
                width:1200px;
                height:200px;
                background-color: red;
            }
            .box2{
                float:left;
                width:200px;
                height:200px;
                background-color:yellow;
            }
            .box3{
                float:left;
                width:200px;
                height:200px;
                background-color: green;
            }

我们可以设置多种float情况看看运行结果,在此就不一一列举了。
我们再来看看另外一个例子

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8>"
        <title></title>
        <style type="text/css">
            .box1{
                width:100px;
                height:100px;
                background-color: red;
            }
            .p1{
                height:200px;
                background-color: yellow;
            }
        </style>
    </head>
    <body>
        <div class="box1"></div>         
        <p class="p1"></p>
    </body>
</html>

红色块与顶部以及两个块之间都存在间距,这是默认样式导致的。加上下列语句可将其去掉。

*{
                margin:0;
                padding:0;
            }

如果我们往块内添加文字,浮动对文字会有什么影响呢?


浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围,所以我们可以用这种操作实现文字图片的效果。

在文档流中,子元素的宽度、高度默认占父元素的全部,但是当元素设置浮动后会完全脱离文档流,即宽度、高度不再是默认占父元素的全部了,其高度、宽度被内容撑开。此外,内联函数不可设置宽高,但是脱离文档流后会变成块元素,即可设置宽高。

相关文章

  • 浮动的作用

    我们先来随便定义三个box 可以发现这三个box是竖着排列的。因为块元素在文档流中是默认垂直排列的,所以这三个di...

  • 布局浮动的问题

    浮动的问题 什么是浮动?浮动(float)的副作用清除浮动两种清除浮动的办法如下:

  • CSS浮动(float)

    浮动的简介 浮动的作用 通过浮动可以使一个元素向其父元素的左侧或右侧移动 设置浮动 使用 float 属性来设置于...

  • 前端面试题二

    1、float的作用? 定义元素在哪个方向浮动(left,right,none,inherit)。浮动元素会生成一...

  • css定位元素--浮动与清除

    清除浮动的行为是作用于** 浮动元素 的父元素或者是兄弟元素,而不是 浮动元素 **本身。 *** 三个方法: *...

  • CSS之float,文档流,position详解

    1 CSS浮动 1.1 浮动定义 float即为浮动,在CSS中的作用是使元素脱离正常的文档流并使其移动到其父元素...

  • float

    一、浮动(float)的作用设置了浮动的元素将脱离标准流二、float的语法float:left | right;...

  • 清除浮动的方法

    清除浮动 清除浮动的作用 为了解决父级元素因为子级元素浮动导致高度为0的问题,将浮动的盒子圈在内部,让父盒子闭合出...

  • 浮动定位BFC边距合并

    一、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动,在CSS中的作用是使元素脱离...

  • 浮动

    浮动的作用就是为了脱离文档流,不再占据原来的位置。元素无法感知到浮动元素的存在;但是,浮动的元素之间是可以互相感知...

网友评论

    本文标题:浮动的作用

    本文链接:https://www.haomeiwen.com/subject/rvikiktx.html