详解CSS中clear属性both、left、right值的含义

前几天一朋友在群里问clear:left的意思,我以为是简单的清除浮动问题,就让他百度“清除浮动”,导致中间有点小误会。后来我按照他写的DEMO,发现我自己也没完全理解clear:left和clear:right的意思。特别看了下手册,和写了几个DEMO,经过群里其他人指导,总结如下,希望对其他人能有点帮助。

clear的值有四个

  1. none:允许两边都可以有浮动对象;
  2. both:不允许有浮动对象;
  3. left:不允许左边有浮动对象;
  4. right:不允许右边有浮动对象。

老实说,我没真正理解字面上的意思,因为这几段话是有歧义的,例如clear:right的解释是“不允许右边有浮动对象”,我一直以为是清除自身右方(下方)容器的浮动。但其实不是。下面一个一个DEMO的看,希望你能懂left和right到底是清除哪里的浮动。

一、普通浮动,无清除浮动,外容器塌陷:DEMO

二、左浮动,clear:both清除浮动:DEMO

三、右浮动,clear:both清除浮动:DEMO

四、左右浮动,clear:both清除浮动:DEMO

五、左浮动,清除左浮动,左浮动,未清除浮动的塌陷:DEMO

六、右浮动,清除右浮动,左浮动,未清除浮动的塌陷:DEMO

(浮动外层容器加了背景色,如果此元素没有浮动,背景色即会包住他,反之则包不住)

很多人清除浮动喜欢在浮动容器后面加一个空div,div加clear:both,即第二、三、四(因为我加了宽高,一般清除浮动的div都是0,所以看不见),我个人不是很喜欢这种。重点看第五和六,clear什么,就清除自身前面容器对应的浮动。例如五红色是左浮动,那么黄色clear:left就是清除自身前面红色的左浮动,而清除不了后面蓝色的左浮动。六里红色是右浮动,那么黄色clear:right就是清除自身前面红色的右浮动。至于二、三、四里的clear:both,左右浮动都可以清除。

总结:加clear的容器,只能清除自身之前的容器浮动,并且清除浮动方向对应。

<参考:http://ons.me/434.html>

时间: 2024-10-12 23:44:09

详解CSS中clear属性both、left、right值的含义的相关文章

详解css中position属性

最近画富瑞的界面,很多元素的定位都是个问题(在我没有很详细的知道position属性之前) 后来上网查了下关于position的一些相关的属性和用法,遂整理了一下 position:属性:固定元素的定位类型.即元素脱离文档的布局流,在元素的任意位置显示. 关于position的属性值,有四种: 1.static:默认布局(默认值) 2.fixed:固定定位,顾名思义是固定的意思,和absolute定位类似,但是比absolute更"定"!(不随滚动条的滚动而滚动) 3.relative

CSS学习笔记(9)--详解CSS中:nth-child的用法

详解CSS中:nth-child的用法 前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是":nth-child". 下面我将用几个典型的实例来给大家讲解:nth-child的实际用途: Tips:还用低版本的IE浏览器的哥们请绕过! :nth-child(2)选取第几个标签,"2可以是你想要的数字" .demo01 li:nth-child(2){background:#090} :nth-child(n

详解CSS中:nth-child的用法_大前端

http://www.daqianduan.com/3737.html 前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是":nth-child". 下面我将用几个典型的实例来给大家讲解:nth-child的实际用途: Tips:还用低版本的IE浏览器的哥们请绕过! :nth-child(2)选取第几个标签,"2可以是你想要的数字" .demo01 li:nth-child(2){background:#0

css中clear属性的认识

今天在看博客园的页面布局时发现有不少空白的div只有css属性:clear:both. 然后去W3C文档里和百度补脑了一下,总结如下: 这是之前我写的一段测试代码: <div style="height: auto;"> <div id="map"></div> <div style="float: left;width: 50%"> <div id="searchResult&qu

CSS中clear属性的both、left和right浅析

前端开发中,我们知道clear属性有none.both.left和right四个值. 它们的具体含义如下: none:允许两边都可以有浮动对象: both:不允许有浮动对象; left:不允许左边有浮动对象; right:不允许右边有浮动对象. 这里主要讨论both.left和right三个值. 要用到的CSS代码如下: <style type="text/css"> .container{ margin: 30px auto; width:600px; height: 3

举例详解CSS中的继承

CSS的继承是由所使用的样式属性定义的.换句话说,当你查看CSS属性backgruound-color,你会看到一栏「继承性」,也许你几乎没有在意过它,但是它还是十分有用的.什么是CSS继承 每一个元素都是文档树的一部分,除了最顶级的HTML元素,每个元素都有其对应的父级元素,每一个父级元素的CSS属性值都可以被应用到它的子元素中去. 举个栗子,H1标签包含着一个EM标签: EM就是H1标签的子元素,任何H1中继承的CSS属性值会自动在EM标签中生效,比如: CSS Code复制内容到剪贴板 h

转: 详解css中的display属性

在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例讲解方法来学习和了解DIV CSS display. 首先,所有主流浏览器都支持 display 属性.其次,我们都知道display 属性规定元素应该生成的框的类型.默认值:inline 我们常用的display属性值有: inlineblockinline-blocknone把 display 设置成

(转)实例详解CSS中position的fixed属性使用

关于fixed属性,在什么情况下需要用,怎么用,首先,我们应该先了解下fixed属性的说明:fixed总是以body为定位时的对象,总是根据浏览器的窗口来进行元素的定位,通过"left". "top". "right". "bottom" 属性进行定位. 那么,我们了解了fixed属性的说明后,就可以知道它的作用了.当我们需要使一个层相对于浏览器来自动调整该层的位置的时候,如果你使用position的absolute属性来定位

详解css中的display属性(行内元素和块级元素)

display属性 首先,所有主流浏览器都支持 display 属性.其次,我们都知道display 属性规定元素应该生成的框的类型.默认值:inline 我们常用的display属性值有: inline block inline-block none 把 display 设置成 none 不会保留元素本该显示的空间,但是 visibility: hidden 还会保留. 那么,display:inline.display:block和display:inline-block有什么区别呢? <s