web前端学习(二十四)——CSS3浮动属性(float)、清除浮动属性(clear)的相关设置

简介: web前端学习(二十四)——CSS3浮动属性(float)、清除浮动属性(clear)的相关设置

1.CSS浮动


CSS Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。

Float(浮动),往往是用于图像,但它在布局时一样非常有用。


1.1 float属性(设置元素浮动)

描述

left

元素向左浮动。

right

元素向右浮动。

none

默认值。元素不浮动,并会显示在其在文本中出现的位置。

inherit

规定应该从父元素继承 float 属性的值。


1.2 clear属性(清除元素浮动)

描述

left

在左侧不允许浮动元素。

right

在右侧不允许浮动元素。

both

在左右两侧均不允许浮动元素。

none

默认值。允许浮动元素出现在两侧。

inherit

规定应该从父元素继承 clear 属性的值。

2.元素水平浮动


元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。浮动元素之前的元素将不会受到影响。

如果图像是右浮动,下面的文本流将环绕在它左边:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>CSS简单学习</title>
    <style type="text/css">
      img {
        float: right;
      }
    </style>
  </head>
  <body>
    <p>在下面的段落中,我们添加了一个 <b>float: right</b> 的图片。导致图片将会浮动在段落的右边。</p>
    <p>
      <img src="img/images/tx.jpg" width="100" height="100" />
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
    </p>
  </body>
</html>

3.彼此相邻的浮动元素


如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

在这里,我们对图片使用 float 属性:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      .ex {
        float: left;
        width: 100px;
        height: 100px;
        margin: 5px;
      }
    </style>
  </head>
  <body>
    <h3>图片库</h3>
    <p>试着调整浏览器窗口的大小,看看图片的位置会发生怎样的变化?</p>
    <img class="ex" src="img/images/tv01.jpg" width="100" height="100" />
    <img class="ex" src="img/images/tv02.jpg" width="100" height="100" />
    <img class="ex" src="img/images/tv03.jpg" width="100" height="100" />
    <img class="ex" src="img/images/tv04.jpg" width="100" height="100" />
    <img class="ex" src="img/images/tv05.jpg" width="100" height="100" />
    <img class="ex" src="img/images/tx.jpg" width="100" height="100" />
  </body>
</html>

4.清除元素的浮动


元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

clear属性指定元素两侧不能出现浮动元素。

使用 clear 属性往文本中添加图片:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      img {
        float: left;
      }
      p.clear {
        clear: both;
      }
    </style>
  </head>
  <body>
    <img src="img/images/tx.jpg" width="100" height="110" />
    <p>
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
    </p>
    <p class="clear">
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
      这是一些文本。这是一些文本。这是一些文本。
    </p>
  </body>
</html>

5.使用浮动来创建水平菜单的超链接列表


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <style type="text/css">
      ul {
        float: left;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style-type: none;
      }
      a {
        float: left;
        width: 6rem;
        padding: 3px 10px;
        background-color: purple;
        color: white;
        border-right: 1px solid white;
        text-decoration: none;
      }
      a:hover {
        background-color: red;
      }
      li {
        display: inline;
      }
    </style>
  </head>
  <body>
    <ul>
      <li><a href="#">Link one</a></li>
      <li><a href="#">Link two</a></li>
      <li><a href="#">Link three</a></li>
      <li><a href="#">Link four</a></li>
    </ul>
    <p>
    上面的示例中,我们设置ul元素和a元素浮动。
    li元素将显示为内联元素(没有换行符的元素之前或之后),这样可以使得列表同在一行。
    我们添加一些颜色和边界使其看上去更高档。
    </p>
  </body>
</html>

6.使用浮动来创建拥有页眉、页脚、左侧目录和主体内容的首页


6.1 HTML文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CSS简单学习</title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <ul class="topmenu">
      <li><a href="#home" class="active">主页</a></li>
      <li><a href="#news">新闻</a></li>
      <li><a href="#contact">联系我们</a></li>
      <li><a href="#about">关于我们</a></li>
    </ul>
    <div class="clearfix">
      <div class="column sidemenu">
        <ul>
          <li><a href="#flight">The Flight</a></li>
          <li><a href="#city" class="active">The City</a></li>
          <li><a href="#island">The Island</a></li>
          <li><a href="#food">The Food</a></li>
          <li><a href="#people">The People</a></li>
          <li><a href="#history">The History</a></li>
          <li><a href="#oceans">The Oceans</a></li>
        </ul>
      </div>
      <div class="column content">
        <div class="header">
          <h1>The City</h1>
        </div>
        <h1>Chania</h1>
        <p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p>
        <p>You will learn more about responsive web pages in a later chapter.</p>
      </div>
    </div>
    <div class="footer">
      <p>底部文本</p>
    </div>
  </body>
</html>

6.2 CSS文件(外部样式表)

* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
.header {
  background-color: #2196F3;
  color: white;
  text-align: center;
  padding: 15px;
}
.footer {
  background-color: #444;
  color: white;
  padding: 15px;
}
.topmenu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #777;
}
.topmenu li {
  float: left;
}
.topmenu li a {
  display: inline;
  color: white;
  text-align: center;
  padding: 16px;
  text-decoration: none;
}
.topmenu li a:hover {
  background-color: #222;
}
.topmenu li a.active {
  background-color: #4CAF50;
  color: white;
}
.column {
  float: left;
  padding: 15px;
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
.sidemenu {
  width: 25%;
}
.content {
  width: 75%;
}
.sidemenu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.sidemenu li a {
  margin-bottom: 4px;
  display: block;
  padding: 8px;
  background-color: #eee;
  text-decoration: none;
  color: #666;
}
.sidemenu li a:hover {
  background-color: #555;
  color: white;
}
.sidemenu li a.active {
  background-color: #008CBA;
  color: white;
}

  

相关文章
|
并行计算 前端开发 JavaScript
Web Worker:让前端飞起来的隐形引擎
在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。Web Worker,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。
868 108
|
10月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
736 0
|
Web App开发 编解码 移动开发
零基础音视频入门:你所不知道的Web前端音视频知识
本文回顾了Web端音视频的发展历程,同时还介绍了视频的编码、帧率、比特率等概念,提到了Canvas作为视频播放的替代方案,以及FFmpeg在音视频处理中的重要作用等知识。
384 1
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1279 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
987 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
899 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
320 34
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
701 33

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1273
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    581
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    442
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    440
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    560
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    736
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1433
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    318
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1174
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    515