zhcn 编程语言 Web相关 JSON 非公開: CSS 浮动

CSS 浮动

浮动允许元素离开其原始位置,并可能在父元素的内容区域内向左或向右移动,直到它触及父元素的内容区域或另一个浮动元素的边框。此外,在浮动元素之后定义的文本或内联元素会绕到浮动元素的一侧,从而创建文本绕行效果,类似于 Word 中的混合图形和文本放置。

注意:浮动属性仅对非绝对定位的元素有效,或者浮动元素后面的内联元素会换行到浮动元素的另一侧。例如,向左浮动会导致其他元素换行。浮动元素的右侧。

float 属性具有三个可选值,如下表所示。

价值解释
left元素向左浮动
right元素向右浮动
none默认情况下,元素不浮动
inherit从父元素继承 float 属性值

此外,使用 float 属性时,请记住以下几点:

  • 如果设置了float属性并且该属性的值不为none,则显示实际上设置为table,如果display属性的值为inline-table,则显示设置为inline; inline- block, run -in, table -* 如果值相等,则显示实际设置为块,否则不变。
  • 如果元素是绝对定位的或者 display 属性的值为 none,则 float 属性不起作用。
  • 如果有足够的空间,相邻的浮动元素会并排放置。

[示例] 当给元素设置float属性时,使用float属性:

 <!DOCTYPE html>
<html>
<head>
    <style>
        .a-box {
            width: 445px;
            height: 120px;
            border: 1px solid red;
            padding: 20px;
            overflow: hidden;
        }
        .b-box {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            color: red;
        }
        .c-box {
            width: 445px;
            height: 120px;
            border: 1px solid red;
            padding: 20px;
        }
        .d-box {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            float: left;
            color: red;
        }
    </style>
</head>
<body>
    <div class="a-box">
        浮動指的是、floatプロパティが設定された要素を、通常の位置から親要素内容領域内で左または右に移動させ、<div class="b-box">フロートしていない要素</div>親要素内容領域の境界または他のフロート要素に当たるまで、親要素中のテキストとインライン要素はフロート要素に囲まれます。
    </div>
    <div class="c-box">
        浮動指のは、floatプロパティが設定された要素を、通常の位置から親要素内容領域内で左または右に移動させ、<div class="d-box">左に浮動する要素</div>親要素内容領域の境界または他のフロート要素に当たるまで、親要素中のテキストとインライン要素はフロート要素に囲まれます。
    </div>
</body>
</html> 

执行结果如下图所示。

[标题id =“attachment_685”对齐=“aligncenter”宽度=“1024”] 图:float属性演示图:float属性演示[/caption]

清晰的浮动

一个元素浮动后,会对周围的元素产生一定的影响,要消除这种影响,可以使用clear属性来清除浮动,该属性的可选值有:

价值解释
left左侧不允许浮动元素
right右侧不允许浮动元素
both浮动元素不允许向左或向右
none允许浮动元素出现在左侧和右侧的默认值
inherit从父元素继承clear属性的值

以下示例展示了如何使用clear属性。

 <!DOCTYPE html>
<html>
<head>
    <style>
        .box {
            width: 480px;
            height: 260px;
            border: 1px solid red;
        }
        .a-box {
            width: 50px;
            height: 150px;
            background-color: #CCC;
            float: left;
        }
        .b-box {
            width: 155px;
            height: 60px;
            border: 1px solid black;
            float: left;
        }
        .c-box {
            width: 100px;
            height: 100px;
            background-color: #007FFF;
            clear: left;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="a-box">a-box</div>
        <div class="b-box">b-box</div>
        <div class="c-box">c-box</div>
    </div>
</body>
</html> 

执行结果如下图所示。

[标题id =“attachment_687”对齐=“aligncenter”宽度=“1024”] 图:clear属性demo图:清除属性演示[/caption]

从执行结果可以看到,当我们对a-box和b-box这两个元素设置float属性时,c-box向上移动并与a-box和b-box重叠。添加clear属性通过清除浮动来解决这个问题。

通俗易懂的“CSS浮动”讲解!您必须观看的最佳 2 个视频

HTML&CSS補足編 #10 floatを使った回り込みレイアウトをマスター!
https://www.youtube.com/watch?v=3_xo7JqNAdU&pp=ygUoIENTUyBmbG9hdCAo44OV44Ot44O844OG44Kj44Oz44KwKSZobD1KQQ%3D%3D
第18回:CSSのfloatの仕組み【実践プログラミング講座】
https://www.youtube.com/watch?v=uRdGpA2jgWw&pp=ygUoIENTUyBmbG9hdCAo44OV44Ot44O844OG44Kj44Oz44KwKSZobD1KQQ%3D%3D
浮动允许元素离开其原始位置,并可能在父元素的内容区域内向左或向右移动,直到它触及父元素的内容区域或另一个浮动元素的边框。此外,在浮动元素之后定义的文本或内联元素会绕到浮动元素的一侧,从而创建文本绕行效果,类似于 Word 中的混合图形和文本放置。

注意:浮动属性仅对非绝对定位的元素有效,或者浮动元素后面的内联元素会换行到浮动元素的另一侧。例如,向左浮动会导致其他元素换行。浮动元素的右侧。

float 属性具有三个可选值,如下表所示。

价值解释
left元素向左浮动
right元素向右浮动
none默认情况下,元素不浮动
inherit从父元素继承 float 属性值

此外,使用 float 属性时,请记住以下几点:

  • 如果设置了float属性并且该属性的值不为none,则显示实际上设置为table,如果display属性的值为inline-table,则显示设置为inline; inline- block, run -in, table -* 如果值相等,则显示实际设置为块,否则不变。
  • 如果元素是绝对定位的或者 display 属性的值为 none,则 float 属性不起作用。
  • 如果有足够的空间,相邻的浮动元素会并排放置。

[示例] 当给元素设置float属性时,使用float属性:

 <!DOCTYPE html>
<html>
<head>
    <style>
        .a-box {
            width: 445px;
            height: 120px;
            border: 1px solid red;
            padding: 20px;
            overflow: hidden;
        }
        .b-box {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            color: red;
        }
        .c-box {
            width: 445px;
            height: 120px;
            border: 1px solid red;
            padding: 20px;
        }
        .d-box {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            float: left;
            color: red;
        }
    </style>
</head>
<body>
    <div class="a-box">
        浮動指的是、floatプロパティが設定された要素を、通常の位置から親要素内容領域内で左または右に移動させ、<div class="b-box">フロートしていない要素</div>親要素内容領域の境界または他のフロート要素に当たるまで、親要素中のテキストとインライン要素はフロート要素に囲まれます。
    </div>
    <div class="c-box">
        浮動指のは、floatプロパティが設定された要素を、通常の位置から親要素内容領域内で左または右に移動させ、<div class="d-box">左に浮動する要素</div>親要素内容領域の境界または他のフロート要素に当たるまで、親要素中のテキストとインライン要素はフロート要素に囲まれます。
    </div>
</body>
</html> 

执行结果如下图所示。

[标题id =“attachment_685”对齐=“aligncenter”宽度=“1024”] 图:float属性演示图:float属性演示[/caption]

清晰的浮动

一个元素浮动后,会对周围的元素产生一定的影响,要消除这种影响,可以使用clear属性来清除浮动,该属性的可选值有:

价值解释
left左侧不允许浮动元素
right右侧不允许浮动元素
both浮动元素不允许向左或向右
none允许浮动元素出现在左侧和右侧的默认值
inherit从父元素继承clear属性的值

以下示例展示了如何使用clear属性。

 <!DOCTYPE html>
<html>
<head>
    <style>
        .box {
            width: 480px;
            height: 260px;
            border: 1px solid red;
        }
        .a-box {
            width: 50px;
            height: 150px;
            background-color: #CCC;
            float: left;
        }
        .b-box {
            width: 155px;
            height: 60px;
            border: 1px solid black;
            float: left;
        }
        .c-box {
            width: 100px;
            height: 100px;
            background-color: #007FFF;
            clear: left;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="a-box">a-box</div>
        <div class="b-box">b-box</div>
        <div class="c-box">c-box</div>
    </div>
</body>
</html> 

执行结果如下图所示。

[标题id =“attachment_687”对齐=“aligncenter”宽度=“1024”] 图:clear属性demo图:清除属性演示[/caption]

从执行结果可以看到,当我们对a-box和b-box这两个元素设置float属性时,c-box向上移动并与a-box和b-box重叠。添加clear属性通过清除浮动来解决这个问题。

通俗易懂的“CSS浮动”讲解!您必须观看的最佳 2 个视频

HTML&CSS補足編 #10 floatを使った回り込みレイアウトをマスター!
https://www.youtube.com/watch?v=3_xo7JqNAdU&pp=ygUoIENTUyBmbG9hdCAo44OV44Ot44O844OG44Kj44Oz44KwKSZobD1KQQ%3D%3D
第18回:CSSのfloatの仕組み【実践プログラミング講座】
https://www.youtube.com/watch?v=uRdGpA2jgWw&pp=ygUoIENTUyBmbG9hdCAo44OV44Ot44O844OG44Kj44Oz44KwKSZobD1KQQ%3D%3D