在学习CSS的最后一部分内容中,float属性和clear属性比较难以用语言描述,因此在笔记本中无法准确的记录这两个属性的用法。所以在博客园上以图文的形式记录这两种属性的特征,以备以后查阅。

  首先,定义了四个div区域:

    <div id="div_1">
风风风风风风风f风
</div> <div id="div_2">
火火火火火火火火
</div> <div id="div_3">
水水水水水水水水
</div> <div id="div_4">
土土土土土土土土
</div>

并设置了一些共用属性:

<style type="text/css">
body{
margin:0;
}
div{
border:#F90 dashed 2px;
width:150px;
height:80px;
} </style>

这样,从浏览器中看到的效果是这样的:

好,接下来开始进行float的漂浮,首先弄清楚一点,如果前一个div设置了float向左漂浮,如果后一个div没有设置float属性,那么后一个div将与再后一个div发生重叠,例如将CSS样式这样设置:

<style type="text/css">
body{
margin:0;
}
div{
border:#F90 dashed 2px;
width:150px;
height:80px;
}
div#div_1{
background-color:#9C6;
float:left;
}
div#div_2{ }
</style>

将div1向左漂浮,div2不做任何处理,那么将会看到div2和div3发生了重叠:

同样的,如果div1和div2都设置了向左漂浮,div2会在div1的右边,并且div3和div4将会发生重叠:

div#div_1{
background-color:#9C6;
float:left;
}
div#div_2{
background-color:#900;
float:left;
}
div#div_3{
background-color:#999;
}
div#div_4{
background-color:#39F;
}

效果如下:

如果div3不想被覆盖,并且也不想在div2的右边,就要使用clear属性,清除float的影响,比如在div3中加入clear属性:

div#div_1{
background-color:#9C6;
float:left;
}
div#div_2{
background-color:#900;
float:left;
}
div#div_3{
background-color:#999;
clear:left;
}
div#div_4{
background-color:#39F; }

那么效果就如下:

如果还要div4到div3的右边,除了在设置了clear属性后,那么在div3和div4中都要向左漂浮:

div#div_1{
background-color:#9C6;
float:left;
}
div#div_2{
background-color:#900;
float:left;
}
div#div_3{
background-color:#999;
clear:left;
float:left;
}
div#div_4{
background-color:#39F;
float:left;
}

最终效果:

说到现在,其实我还是没法用语言来很好的描述float属性应该怎么讲,这篇随笔其实也写的不是很好,只能说其实用的不是很多,所以我也不会太深入的去理解,在w3school中对float值得解释为:

任何对象都可以是元素。但还是说的不太清楚,另一种说法是:

按这种说法或许可以解释为什么当我们设置div为向左漂浮时,这个div将在前面一个元素对象的右边。

=============================最后================================

这个随笔只是记录float属性和clear属性的简单用法,如果以后我会使用到更高级的用法,希望还能继续从这里记录下去。。。

CSS中float属性和clear属性的一些笔记的更多相关文章

  1. CSS中float和Clear的使用

    CSS中float和Clear的使用 本文和大家重点讨论一下CSS中Float和Clear属性的使用,一个float对象可以居左或居右,一个设置为float的对象,将根据设置的方向,左移或右移到其父容 ...

  2. 使用jquery修改css中带有!important的样式属性

    当CSS中含有!important的样式属性时,普通的修改方式是会出现失败的.如下: <div class="test">使用jquery修改css中带有!import ...

  3. 如何利用 jQuery 修改 css 中带有 !important 的样式属性?

    使用 jQuery 修改 css 中带有 !important 的样式属性 外部样式为: div.test { width:auto !important; overflow:auto !import ...

  4. css中 Span 元素的 width 属性无效果原因及多种解决方案

    先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内 ...

  5. css中span元素的width属性无效果原因及多种解决方案

    先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内 ...

  6. css中的width,height,属性与盒模型的关系

    这段话很容易记住盒模型: css中盒子模型包含属性margin.border.padding.content,他们可以把它转移到我们日常生活中的盒子(箱 子)上来理解,日常生活中所见的盒子也具有这些属 ...

  7. CSS中如何使用背景样式属性,看这篇文章就够用了

    css背景样式属性介绍 背景样式就是自定义HTML标签的背景颜色或背景图像. 背景属性说明表 属性名 属性值 描述 background-color #f00.red.rgb(255,0,0) 设置背 ...

  8. 转: CSS中float和clear的理解

    float:浮动,比如,默认的,我们知道,div是占满一行的,现在我们想把两个div显示在一行上,那怎么办呢<div style="width:100px;">1111 ...

  9. 关于css中float的理解

    感觉css里的float是个非常神奇的东西,神奇之处在于,你知道它是什么意思,但是用的时候总是不知道怎么实现效果.又或者它会很容易地影响到别的元素和属性.所以今天打算尝试一下float的各种设置,看看 ...

随机推荐

  1. svn密码问题

    官方书籍version control with svn提到了这个问题: Disabling Password Caching When you perform a Subversion operat ...

  2. 设计模式 ( 十三 ) 命令模式Command(对象行为型)

    设计模式 ( 十三 ) 命令模式Command(对象行为型) 1.概述         在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需 ...

  3. jQuery动态添加删除select项

    // 添加 function col_add() { var selObj = $("#mySelect"); var value="value"; var t ...

  4. 13 - NSURLConnection

    一.互联网 基本概念: HTTP协议 统一标准获取网络资源(其他设备上的东西) 本机 -> 远程服务器(计算机) URL(http有格式的字符串) 本机 <- 远程服务器(计算机) Fil ...

  5. 01-UIKit

    目录: 一.视图和控制器 二.interface Builder 回到顶部 一.视图和控制器 1 视图(view)ios程序运行期间用户所能看见的东西都可以认为是视图,比如UIwindow就是一个视图 ...

  6. Qt 学习之路 2(75):线程总结

    前面我们已经详细介绍过有关线程的一些值得注意的事项.现在我们开始对线程做一些总结. 有关线程,你可以做的是: 在QThread子类添加信号.这是绝对安全的,并且也是正确的(前面我们已经详细介绍过,发送 ...

  7. poj 3258 River Hopscotch 【二分】

    题目真是不好读,大意例如以下(知道题意就非常好解了) 大致题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都有唯一的距 ...

  8. 简单区分`:before`与`::before`的区别

    简单区分:before与::before的区别 :hover我们都知道,称作伪类,英文名pseudo-class,而我们此处提到的:before以及:after也是伪类,属于css2的内容,在ie8下 ...

  9. WCF技术剖析之七:如何实现WCF与EnterLib PIAB、Unity之间的集成

    原文:WCF技术剖析之七:如何实现WCF与EnterLib PIAB.Unity之间的集成 在这之前,我写过深入介绍MS EnterLib PIAB的文章(参阅<MS Enterprise Li ...

  10. Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法

    var xmlHttp; //定义变量,用来创建xmlHttp对象 function ajaxfunction(url,onreadystatechangMethod,param){ // 创建xml ...