CSS浮动

[复制链接]
发表于 2026-1-14 00:38:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
浮动可以使一个元素离开自己原来的位置,并在父元素的内容区中向左或向右移动,直到碰到父元素内容区的边界大概别的浮动元素为止。别的,在浮动元素之后界说的文本大概行内元素都将围绕在浮动元素的一侧,从而可以实现笔墨围绕的效果,类似于
Word 中图文混排。
留意:浮动(float)属性仅对非绝对定位的元素有效,跟随浮动元素的文本或行内元素将围绕在浮动元素的另一侧,比方向左浮动的话别的元素将围绕在浮动元素的右侧。
float 属性有三个可选值,如下表所示:
值形貌left元素向左浮动right元素向右浮动none默认值,元素不浮动inherit从父元素继承 float 属性的值别的,在使用 float 属性时还必要留意以下几点:


  • 如果设置了 float 属性且属性的值不为 none 时,若 display 属性的值为 inline-table,那么 display 现实会被设置为 table,若 display 的属性值为 inline、inline-block、run-in、table-* 等值,那么 display 现实会被设置为 block,别的情况则没有厘革;
  • 当元素设置了绝对定位大概 display 属性的值为 none 时,float 属性无效;
  • 相邻的浮动元素,如果空间充足它们会紧挨在一起,分列成一行。
【示例】使用 float 属性为元素设置浮动属性:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <style>
  5.         .a-box {
  6.             width: 445px;
  7.             height: 120px;
  8.             border: 1px solid red;
  9.             padding: 20px;
  10.             overflow: hidden;
  11.         }
  12.         .b-box {
  13.             width: 100px;
  14.             height: 100px;
  15.             border: 1px solid green;
  16.             color: red;
  17.         }
  18.         .c-box {
  19.             width: 445px;
  20.             height: 120px;
  21.             border: 1px solid red;
  22.             padding: 20px;
  23.         }
  24.         .d-box {
  25.             width: 100px;
  26.             height: 100px;
  27.             border: 1px solid green;
  28.             float: left;
  29.             color: red;
  30.         }
  31.     </style>
  32. </head>
  33. <body>
  34.     <div class="a-box">
  35.         浮动指的是让设置了 float 属性的元素脱离正常的位置,在父元素内容区中向左或向右移动,<div class="b-box">没有浮动的元素</div>直到碰到父元素内容区的边界或者其它浮动元素为止,父元素中的文本和行内元素将环绕浮动元素。
  36.     </div>
  37.     <div class="c-box">
  38.         浮动指的是让设置了 float 属性的元素脱离正常的位置,在父元素内容区中向左或向右移动,<div class="d-box">左浮动的元素</div>直到碰到父元素内容区的边界或者其它浮动元素为止,父元素中的文本和行内元素将环绕浮动元素。
  39.     </div>
  40. </body>
  41. </html>
复制代码
运行效果如下图所示:

图:float 属性演示
扫除浮动

元素浮动之后,会对附近的元素造成肯定的影响,为了消除这种影响您可以使用 clear 属性来扫除浮动,属性的可选值如下:
值形貌left左侧不允许浮动元素right右侧不允许浮动元素both左右两侧均不允许浮动元素none默认值,允许浮动元素出现在左右两侧inherit从父元素继承 clear 属性的值下面通过示例来演示一下 clear 属性的使用:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <style>
  5.         .box {
  6.             width: 480px;
  7.             height: 260px;
  8.             border: 1px solid red;
  9.         }
  10.         .a-box {
  11.             width: 50px;
  12.             height: 150px;
  13.             background-color: #CCC;
  14.             float: left;
  15.         }
  16.         .b-box {
  17.             width: 155px;
  18.             height: 60px;
  19.             border: 1px solid black;
  20.             float: left;
  21.         }
  22.         .c-box {
  23.             width: 100px;
  24.             height: 100px;
  25.             background-color: #007FFF;
  26.             clear: left;
  27.         }
  28.     </style>
  29. </head>
  30. <body>
  31.     <div class="box">
  32.         <div class="a-box">a-box</div>
  33.         <div class="b-box">b-box</div>
  34.         <div class="c-box">c-box</div>
  35.     </div>
  36. </body>
  37. </html>
复制代码
运行效果如下图所示:

图:clear 属性演示
通过运行效果可以看出,若为 a-box、b-box 两个元素设置 float 属性就会导致 c-box 向上移动,与 a-box、b-box
重叠在一起,此时为 c-box 添加 clear 属性扫除浮动即可办理这一题目。
原文所在CSS浮动
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表