关于浮动float属性和position:absolute属性的区别
最近返回头看了很多书籍,一直在纠结float属性和absolute绝对定位的区别和使用的情况,给大家分享一下自己的心得和体会吧。
1,float属性
float属性意义是让元素拜托独占一行的霸道总裁,成为一个普普通通的人。比如下面这个例子
如图,我们为第一个盒子第一个盒子设置了float:left属性,他也就失去了霸道总裁独占一行的特点,下面的盒子就上位。

但是我们发现一个问题,如果总裁通知完全浮动(也就是说不在公司了),那么下面的div应该把他的位置完全占领,也就是说文字也应该被总裁覆盖,但是发现并没有,我们得出结论,第一个div虽然浮动,但是他原来的位置还在,紧邻的div虽然能够与他平起平坐,但是也不能完全骑在他头上。并且,第一个div会随着content的内容的增加而width增加,从而挤占相邻div的横向宽度。
2,position:absolute属性
当我们把第一个div的position属性设置为absolute时,效果如下图:

我擦,令人惊奇的一幕发生了,相邻的div里面的内容被第一个div遮盖,这就说明第一个div已经完全脱离了文档流。相邻的div也就视他不存在,爱咋地咋地。
通过上面的这个小例子,可以总结为,float属性虽然也是漂浮,但是不是完全漂浮,他只是失去了独占一行的属性,但是他大小所占的位置还是存在的(不能视而不见)。
而position:absolute已经完全放弃了自己的所有一切,成为了天空的一朵云彩。
关于浮动float属性和position:absolute属性的区别的更多相关文章
- 关于css float 属性以及position:absolute 的区别。
		1.float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.div一个典型的块 ... 
- 【总结】我所整理的float, inline-block还有position:absolute
		这篇主要写了一下几个知识点: 浮动和inline-block的概念和选择 浮动和position:absolute对于脱离文档流的区别 这篇文章参考了一下几个链接: https://www.zhihu ... 
- CSS 浮动(float)与定位(position)
		一.浮动 1.三个属性:left.right.none. 2.特点:容易造成父项塌陷,故在父项需要清除浮动 3.父项塌陷现象 4.父项塌陷解决方案(建议使用):清除浮动 .parent:after{ ... 
- 详细分析css float 属性以及position:absolute 的区别
		1.float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.div一个典型的块 ... 
- absolute属性与IE6/IE7之间的误会
		三.absolute属性与IE6/IE7之间的误会 absolute属性确实存在不少兼容性的问题,首先absolute属性定位相关(left/top)的些bug(例如IE6的奇偶bug)这里不予以讨论 ... 
- CSS position:absolute浅析
		一.绝对定位的特征 绝对定位有着与浮动一样的特性,即包裹性和破坏性. 就破坏性而言,浮动仅仅破坏了元素的高度,保留了元素的宽度:而绝对定位的元素高度和宽度都没有了. 请看下面代码: <!DOCT ... 
- global,$GLOBALS[' '] 全局,   浮动float跟margin的注意事项
		$a; global只能声明变量为全局,不能赋值,否则报错未定义:global $a; 相对于$GLOBALS['a'],写法是这样的,所有定义过的变量都存在这里: //浮动float跟margin的 ... 
- 绝对定位常见误区:position:absolute相对于谁定位、及当溢出时怎么隐藏
		1.绝对定位元素溢出父元素,怎么隐藏问题? 通常,为了让DIV子元素超出部分隐藏,都是在父元素设置overflow:hidden,这样即可防止子元素撑开父元素,使子元素能够溢出隐藏! 但是,对于pos ... 
- 【总结整理】行内标签span设置position:absolute/float属性可以设置宽度与高度
		postion:absolute 跳出文本流,不是行内元素,设置宽高有效,我的理解. 引用下曹刘阳写的<编写高质量代码-web前端开发修炼之道>一书中看到的一句话:position:abs ... 
随机推荐
- Linux学习笔记20——第一个多线程程序
			一 什么是线程 线程:是一个进程内部的一个控制序列. 二 使用POSIX的注意点 1 为了使用线程函数库,必须定义宏_REENTRANT,通过定义_REENTRANT来告诉编译器我们需要可重入功能,可 ... 
- 用指针将字符串a的内容复制到字符串b
			#include <stdio.h> #include <stdlib.h> /**int main() { char a[]="i love you very ma ... 
- Unity之Avatar原理
			今天花了一些时间理了理Unity的动画系统. 之前给不同模型配动画时没怎么在意,只知道用Avatar可以让一个模型使用另一个模型的动画.由于用的基本上都是人物模型,基本上没出现什么错误. 不过在用到异 ... 
- 一个cocos2d程序的完整人生(从环境到代码全过程)
			今天我的打砖块小游戏Beta0.1终于完成了,比较开心,写一下这个程序从出生到长大的全过程把. 这是个博客集合帖,具体的操作细节我都在其它博文中有详细说明,下面会给出链接 首先,我想我还是要介绍一 ... 
- zoj 3659 Conquer a New Region(并查集)
			题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4882 代码: #include<cstdio> #inc ... 
- 保证相同类型的MDI子窗体只会被打开一次的方法
			本文转载:http://www.cnblogs.com/Ricky81317/archive/2008/09/17/1292443.html 看到论坛中有朋友问,如何可以保证在MDI主窗体中,同一类型 ... 
- 一款很不错的html转xml工具-Html Agility Pack
			之前发个一篇关于实现html转成xml的劣作<实现html转Xml>,受到不少网友的关心.该实现方法是借助htmlparser去分解html内容,然后按照dom的结构逐个生成xml字符串. ... 
- GDB踪函数的完整调用过程 及原理
			http://www.lenky.info/archives/2013/02/2202 Breakpoint , .so. (gdb) bt # .so. # .so. # .so. # .so. # ... 
- UNIX环境高级编程第二版代码笔记
			1. 第一个程序 gcc 1.1.c /tmp/ccbnJqcB.o: In function `main': 1.1.c:(.text+0x17): undefined reference to ... 
- ios中图片的绘画和截图
			ios中图片的绘画和截图 CGImageCreateWithImageInRect截图和UIGraphicsGetImageFromCurrentImageContext绘画图片 使用CGImageC ... 
