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;
}

  

相关文章
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
40 4
|
6月前
|
前端开发
5.CSS学习(浮动)
【7月更文挑战第29天】
46 4
|
2月前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
44 2
|
2月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
70 2
|
3月前
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
895 0
|
3月前
|
网络协议 API 网络安全
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
303 0
|
3月前
|
网络协议 安全 JavaScript
Web实时通信的学习之旅:WebSocket入门指南及示例演示
Web实时通信的学习之旅:WebSocket入门指南及示例演示
334 0
|
3月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
187 0
|
4月前
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
|
5月前
|
前端开发 容器
前端面试热门问题--浮动和清除浮动(CSS)
前端面试热门问题--浮动和清除浮动(CSS)