随笔- 61  文章- 0  评论- 16 

CSS浮动

一、 定义

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

二、 浮动与不浮动

浮动与不浮动有很多的区别,但主要的区别是不浮动的框是由上往下独占一行的,而浮动的框是紧靠着排列的。上(右)图中d1、d2、d3都是向左浮动的,所以先把d1放在紧靠着父框摆放,然后把d2紧靠着d1摆放,最后d3紧靠着d2摆放。向右浮动亦与之类似。

语法:
float : none | left |right
参数:
none :  对象不浮动
left :  对象浮在左边
right :  对象浮在右边

三、 调整

如上(左)图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。

如上(右)图所示,如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”。

本小节d1、d2、d3均向左浮动。

四、 环绕与清除

上图中d1向左浮动,d2、d3都不浮动。
一开始的定义中就有说到,浮动的框的是脱离普通流的,即d1就浮在上面的,下面的d2、d3感觉不到d1的存在。所以d2在父框中处于顶端。而且d2中的
内容不会覆盖d1中的内容,我们可以利用这一点做出环绕效果。比如d1中放的是一张图片,d2中是图片的解释。这样就十分合理。

但如果d1与d2是不相关的,就想要d2另起一行。那就要使用另一个CSS属性clear。clear属性用于设置框的左边或右边或两边不挨着浮动框。上图d1向左浮动,d2、d3不浮动,且d2的clear属性为left。

语法:

clear : none | left |right | both
参数:
none :  允许两边都可以有浮动对象
both :  不允许有浮动对象
left :  不允许左边有浮动对象
right :  不允许右边有浮动对象

另外,虽然不浮动的框感觉到不到浮动框的存在,但浮动框却知道不浮动框的存在。如上图,d1是不浮动的,d2、d3都是向左浮动的,d2能够另起一行而不覆盖到d1。

五、 注意

(1) 本文只作原理性的解释,IE与FireFox的一些差异在这里就不罗列了。

(2) 文中的框即是div。

div 浮动框的更多相关文章

  1. div浮动框居于浏览器窗口中间

    代码先贴这里,随后再改 <script language="JavaScript"> document.getElementById('divCenter').styl ...

  2. position:fixed和scroll实现div浮动【示例】

    前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解,毕竟我不是搞前端的,因为自己建站毕竟每一步都必须自己来,这边只是做个记 ...

  3. selenium处理Ajax浮动框方法

    package com.allin.pc;import java.util.List;import org.openqa.selenium.WebElement;import org.openqa.s ...

  4. 非常强大的jQuery万能浮动框插件

    支持hover, click, focus以及无事件触发:支持多达12种位置的定位,出界自动调整:支持页面元素加载,Ajax加载,下拉列表,提示层效果,tip类效果等:可自定义装载容器:内置UI不错的 ...

  5. 关于css浮动框是否脱离文档流的分析

    在了解浮动属性之前,首先我们先了解一下html中关于display属性的相关知识. display属性常用的有inline, block, inline-block. inline也就是内联的意思. ...

  6. 电力项目十三--js添加浮动框

    修改page/menu/loading.jsp页面 首先,页面中引入浮动窗样式css <!-- 浮动窗口样式css begin --> <style type="text/ ...

  7. webdriver高级应用- 在ajax方式产生的浮动框中,单击选择包含某个关键字的选项

    Ajax简介: Ajax:局部刷新,原理上也是一个js,js调用服务器的远程接口刷新局部页面数据. Ajax = 异步 JavaScript 和 XML(标准通用标记语言的子集). Ajax 是一种用 ...

  8. 电力项目十一--js添加浮动框

    1.添加浮动窗口样式 <!-- 浮动窗口样式css begin --> <style type="text/css"> #msg_win{border:1p ...

  9. js div浮动层拖拽效果代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. Delphi与C++的语法区别(六点区别) good

    一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句 ...

  2. 关于java中的事件类型

    java中的Date是为了证明:天才的程序员也会犯错: java中的Calendar是为了证明:普通的程序员也会犯错. ———————————————————— stackoverflow上大部分都推 ...

  3. [Android]Volley源代码分析(店)应用

    通过前面的谈话,我相信你有Volley有了一定的了解了原理.本章将给出一些我们的应用程序都可以在样品中直接使用,第一样品是 NetworkImageView类,事实上NetworkImageView顾 ...

  4. Java中替代C# ref/out 关键字方案:

    刚学习Java不久,今天遇到一个问题,需要在方法中修改传入的对象的值,确切的说是需要使用一个方法,创建一个对象,并把其引用返回,熟悉C#的我的第一反应就是C#中的ref/out关键字,结果发现Java ...

  5. 14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置

    14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置 locking read, 一个UPDATE,或 ...

  6. GNU libmicrohttpd 0.9.29 发布 - 开源中国社区

    GNU libmicrohttpd 0.9.29 发布 - 开源中国社区 GNU libmicrohttpd 0.9.29 发布

  7. 每天一点儿java-button

    <pre name="code" class="java">import java.awt.*; import java.awt.event.*; ...

  8. uva315(求割点数目)

    传送门:Network 题意:给出一张无向图,求割点的个数. 分析:模板裸题,直接上模板. #include <cstdio> #include <cstring> #incl ...

  9. HDU 4022 Bombing (map + multiset)

    题意: 在x,y坐标范围为10 ^ -9 ~~ 10 ^ 9的坐标轴之中,有 10W个点(注意有些点可能在同一坐标上),然后有10W个询问,处理询问按照输入顺序处理,对于每个询问a,b    a == ...

  10. DataTable数据转换为实体

    我们在用三层架构编写软件时,常常会遇到例如以下问题,就是三层之间的參数传递问题:假设我们在D层查询出数据是DataTable类型的,那么我们在B层甚至U层使用这条数据时,就要用DataTable类型来 ...