组来了一个新人小弟,CSS的问题都是比较常见的基础问题,解决并回答的过程中,就当巩固了
绝对定位和相对定位的使用规则
<对于float>
1.可以一起组合使用的属性
position:relative;
float:left;
情况分类:
relative本身是定义元素相对定位的属性
当定义relative出现在绝对定位布局的父元素身上时,该属性仅是作用absolute元素的参考,没有定位上的布局安排,使用float可以进行布局,而不会浪费或是冲突
当定义relative是作用于元素本身,进行相对定位的布局时,则不要用float属性,因为定位的位置由top等属性的属性定义
2.不可以组合使用的属性
position:absolute;
float:left;
原因:
因为定义了absolute,元素会去寻找定义relative的父元素,进行绝对定位布局,所以float的任何定义都不会生效。
<对于display>
relative : 原来是什么类型的依旧是什么类型。
absolute | fixed : 元素就被重置为了区块元素
相对定位和绝对定位的使用率
整体而言:少用
使用选择:除非做些特效或有必要才定位
原因:
1.影响布局加载的速度,会变慢
2.绝对定位:(和文档流没关系)如无申明,则其是对与body而言的。处理不好的话,如显示器尺寸变了,可能就会变型。
相对定位:相对他该出现的位置,如无设top left之类,和普通基本一样。
相对定位和决定定位是脱离文档流的一种布局
1.文档流:默认情况下,所有元素都是在z-index: 0 这一层的,这就是文档流。
2.脱离文档流:设置position: relative 或 position: absolute会让元素浮起来(就像游戏中的概念-多层图层),也就是z-index大于0,它会改变正常情况下的文档流。
可以参考的博客:http://www.cnblogs.com/baimiaolei/p/5627755.html
网友评论