复习浮动和清浮动

仅仅为了自己复习,勿喷!

首先看看inline-block的特性:

1、块级元素能在一排显示。2、内联支持宽高。3、默认内容撑开宽度。4、标签之间的换行被解析。5、在IE6,7下,不支持块标签的inline-block。

再来看看float浮动的特性:

1、块级元素能在一排显示。2、内联支持宽高。3、默认内容撑开宽度。4、脱离文档流。5、提升层级半级。

清浮动:

clear:left | right | both | none | inherit;元素的某个方向上不能有浮动元素。下面讲讲一些清浮动的方法和优缺点:

1、直接给父级加固定高度(太死板,无扩展性)。

2、给父级也加float浮动(这样还要给父级的父级都加浮动,而且加了浮动的元素margin左右自动失效)。

3、给元素本身加display:inline-block(元素的margin左右自动失效)。

4、在浮动元素的后面,利用空标签清除浮动。<div class=‘clear‘></div>  .clear { height:0;font-size:0;line-height:0;clear:both;}

  这里的font-size:0;和line-height:0;是用来解决在ie6下最小高度为19px的问题。

5、在浮动元素后面加br清浮动<br clear=‘all‘ />

6、after伪类清浮动,也是用的比较多的方法。after伪类就是向元素的内容的最末尾添加内容

.clear:after {content:‘‘;display:block;clear:both;}由于ie6,7下不兼容after伪类

所以利用zoom触发ie下的haslayout来让元素根据自身内容计算宽高,最终的样式为:

.clear { zoom:1;}

.clear:after {content:‘‘,display:block;clear:both;}

7、overflow清浮动overflow:hidden/auto; 看意思就知道这会让元素去计算内容的宽高,从而清除浮动。同样ie6不支持,所以配合zoom:1使用

  .clear {overflow:hidden;zoom:1;}

时间: 2024-07-30 19:01:56

复习浮动和清浮动的相关文章

H5——浮动及清浮动

一.float浮动:float:left/right/none/inherit;(inherit从父级继承浮动,对有的浏览器不兼容,一般不用) 1.块在一排显示 2.内联元素支持宽高 3.默认内容撑开宽度 4.脱离文档流(文档流是文档中可显示对象,在排列时所占用的位置) 特性: 1.浮动元素不会覆盖住任何文字或者行内标签,所有的文字或者行内标签会环绕在浮动元素周围 2.浮动元素会覆盖块标签的背景和边框 3.一个元素设置浮动属性之后,该元素会朝着设置的方向移动,直到碰到父级或浏览器的边缘,或者前一

为什么清浮动?清浮动的方法是什么?哪一种是终极方法?

浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器).也许很多人都有这样的疑问,浮动从何而来?我们为何要清除浮动?清除浮动的原理是什么?本文将一步一步地深入剖析其中的奥秘,让浮动使用起来更加得心应手. 一.清除浮动 还是 闭合浮动 (Enclosing float orClearing float)? 很多人都已经习惯称之为清除浮动,以前我也一直这么叫

ss清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?

引自:https://my.oschina.net/leipeng/blog/221125. 一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer">     <div class="div1">1</div>     <div class="div2">2</div>     <div class="di

CSS清浮动

前面的话 人们经常谈起清浮动,其实就是解决浮动元素的包含块高度塌陷的问题 定义 clear 清除 值: left | right | both | none | inherit 初始值: none 应用于: 块级元素 继承性: 无 left:左侧不允许存在浮动元素 right:右侧不允许存在浮动元素 both:左右两侧不允许存在浮动元素 none:允许左右两侧存在浮动元素 [注意]设置clear属性的元素并不能改变浮动元素,而只能改变自身 CSS2.1引入了一个清除区域,清除区域是在元素上外边距

css清浮动处理

在CSS布局中float属性经常会被用到,但使用float属性后会使其在普通流中脱离父容器,让人很苦恼 1 浮动带来布局的便利,却也带来了新问题 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Clear float</title> 6 <style type="tex

CSS清浮动处理(Clear与BFC)

Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢? 一. 生成对象的原始模式 假定我们把猫看成一个对象,它有"名字"和"颜色"两个属性. var C

清浮动方法

首先,我要先纠正一下网上的某些错误! 这个方法是错误的.本人亲测~ 附代码可供测试: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> </head> <body> <style> ul{ border: 1px solid black; } u

清浮动的九种方式

1.加高 给父级加高 问题:扩展性不好 2.父级浮动 让父级也浮动 问题:页面中所有元素都加浮动,margin左右自动失效 3.inline-block 清浮动方法:  给父级加display: inline-block; 问题:margin左右自动失效: 4.空标签清浮动 在浮动元素下加 <div class="clear"></div> .clear{height: 0px;font-size: 0px;clear: both;} 问题:IE6 最小高度 1

清浮动的方法

浮动原理及清浮动 浮动: left/right/none 元素加了浮动,会脱离文档流(文档流是文档中可显示对象在排列时所占用的位置) ,按照指定的一个方向移动直到碰到父级的边界或者另外一个浮动元素停止 1.使块元素在一行显示:  2.使内嵌支持宽高:  3.不设置宽度的时候宽度由内容撑开:  4.脱离文档流 : 5.提升层级半层. 清浮动的方法  1.加高  问题:扩展性不好 2.父级浮动  问题:页面中所有元素都加浮动,margin左右自动失效 3.inline-block 清浮动方法:  问