热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS浮动基础详解

一、浮动每个元素单独占据浏览器的一整块。块级元素按照标准流向下依次排列。实验一,仅一个div设置浮动(左)代码如下:<!DOCTYPEht

一、浮动
每个元素单独占据浏览器的一整块。
块级元素按照标准流向下依次排列。
实验一,仅一个div设置浮动(左)代码如下:


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档title>
<style type=text/css>
body{
margin:15px;
}

.father{
background-color:#FF6;
border:1px solid #F6C;
padding:5px;
}

.father div{
padding:10px;
margin:15px;
border:1px solid #0FF;
background-color:#36C;
}


.father p{
border:1px solid #0FC;
background-color:#C66;
}


.son1{
}

.son2{}

.son3{}
style>
head>

<body>
<div class="father">

<div class="son1">box1div>
<div class="son2">box2div>
<div class="son3">box3 div>
<p>《Javascript框架设计》是一本全面讲解Javascript框架设计的图书,详细地讲解了设计框架需要具备的知识,主要包括的内容为:框架与库、Javascript框架分类、Javascript框架的主要功能、种子模块、模块加载系统、语言模块、浏览器嗅探与特征侦测、样式的支持侦测、类工厂、Javascript对类的支撑、选择器引擎、浏览器内置的寻找元素的方法、节点模块、一些有趣的元素节点、数据缓存系统、样式模块、个别样式的特殊处理、属性模块、jQuery的属性系统、事件系统、异步处理、Javascript异步处理的前景、数据交互模块、一个完整的Ajax实现、动画引擎、API的设计、插件化、当前主流MVVM框架介绍、监控数组与子模板等。p>
div>
body>
html>

这样没有经过css浮动修饰,父div下的子div按照文档流的方式顺序排列:效果如图:

列表内容
现在我们设置box1向左浮动:

.son1{
float:left;
}

这里我们对第一个盒子设置浮动,既当对box1设置向左浮动后,box1 就脱离了文档流,她的宽度不再伸展到最右端,而是以能够容纳她的内容的最小宽度显示。box2 占据了原来box1的位置,就好像box1不存在一样,但是box2 的文字并不是顶头写,因为是受到浮动盒子的影响。注意:box2 的最左端是在box1原来的顶头位置,仅仅是文字被box1顶到了后面。因此虽然div之间设置了margin:15px,但是看到文字”box1”和”box2”直接没有间距,由此可证明,仅仅是文字被挤了过去。

这里写图片描述

实验二:将box1 和box2都设置浮动:
修改代码:

.son1{
float:left;}


.son2{
float:left;}

效果如图:
这里写图片描述
可以看出这次box1和box2中间有了间距,应为他们设置的margin:15PX,设置浮动后,margin是叠加的,因此他们之间的间距为30px。同样字“box3”仅仅是被挤到了后面。

实验三:将box3也设置浮动:

.son3{
float:left;}

效果如图:
这里写图片描述
这时,原来的

段落应为前三个div都脱离了文本流,就占据原来box1所在的位置,从头开始。其文字由于受浮动的影响,围绕浮动的盒子进行排列。

实验四:将box3向右浮动:

.son3{
float:right;}

效果如图:
这里写图片描述

试验五:使用clear属性清除浮动影响:
未清除前:
这里写图片描述
文字围绕所有浮动的box分布。

段落加了clear属性,clear:left ,清除左边浮动盒子对文字排版的影响;清除后如图:
这里写图片描述
如果想清除左右盒子对文字的影响可以设置:

clear:both;

实验六:扩展盒子的高度
一个容器所容纳的盒子都是浮动的盒子时,当一个浮动盒子的高度高于容器时,容器不能自动扩展,这里我们把文字段落去掉,查看一下效果。对于解决这种问题的方法当然也是用clear属性,只不过需要一个单独的空的div作为清除浮动的盒子。
body中的代码去掉文字段落后如下:

<body>
<div class="father">

<div class="son1">box1div>
<div class="son2">box2div>
<div class="son3">box3<br>
box3<br>
box3 <br>
div>
div>
body>

效果如图:
这里写图片描述

添加空div ,设置class属性为clear,设置class为clear的css:

.father .clear{
padding:0;
margin:0;
border:0;
clear:both;

}

添加空div,class=“clear”

<div class="father">
<div class="son1">box1div>
<div class="son2">box2div>
<div class="son3">box3

box3

box3

div>
<div class="clear">div>
div>

效果如图:
这里写图片描述


推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • Hyperledger Fabric 1.4 节点 SDK 快速入门指南
    本文将详细介绍如何利用 Hyperledger Fabric 1.4 的 Node.js SDK 开发应用程序。通过最新版本的 Fabric Node.js SDK,开发者可以更高效地构建和部署基于区块链的应用,实现数据的安全共享和交易处理。文章将涵盖环境配置、SDK 安装、示例代码以及常见问题的解决方法,帮助读者快速上手并掌握核心功能。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 如何在页面底部添加倾斜样式效果? ... [详细]
  • 深入理解 Java 控制结构的全面指南 ... [详细]
  • Java解析YAML文件并转换为JSON格式(支持JSON与XML的结构化查询)
    本文探讨了如何利用Java解析YAML文件并将其转换为JSON格式,同时支持JSON和XML的结构化查询。YAML、JSON和XML这三种数据格式通过其名称作为文件扩展名,便于区分和使用。文章详细介绍了这些格式的层次结构和数据表示方法,并重点讨论了在数据传输过程中,XML的特性和优势。此外,还提供了具体的代码示例和实现步骤,帮助开发者高效地进行数据格式转换和查询操作。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 本指南介绍了 `requests` 库的基本使用方法,详细解释了其七个主要函数。其中,`requests.request()` 是构建请求的基础方法,支持其他高级功能的实现。此外,我们还重点介绍了如何使用 `requests.get()` 方法来获取 HTML 网页内容,这是进行网页数据抓取和解析的重要步骤。通过这些基础方法,读者可以轻松上手并掌握网页数据抓取的核心技巧。 ... [详细]
author-avatar
快乐的kang918_863
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有