CSS——position

position是指元素的定位方式,有:static、absolute、fixed、relative、inherit 5种。

static 默认,布局排版方式按照HTML代码的顺序布局。
absolute 绝对定位,相对与祖先div 中非static的元素定位。
fixed 绝对定位,脱离HTML文档流,默认位置由后续元素占用,自身相对于浏览器窗口布局定位。由于与其他元素的位置冲突,应该注意定义 z-index 属性设置
relative 相对定位,相对于自身在HTML文档中的位置进行定位
inherit 和父级div的position相同

 

 

http://www.cnblogs.com/bokin/archive/2012/12/07/2807322.html

 

http://blog.csdn.net/tomatozq/article/details/7178144

 http://blog.sina.com.cn/s/blog_4bcf4a5e010008o0.html

http://zh.learnlayout.com/inline-block.html

http://www.cnblogs.com/dolphinX/p/4071725.html

http://www.cnblogs.com/yexiaochai/p/4074624.html

http://www.cnblogs.com/polk6/archive/2013/07/26/3214847.html

http://www.chinaz.com/design/2010/1229/151993.shtml

 http://www.cnblogs.com/oer2001/archive/2013/08/03/3235294.html

http://www.cnblogs.com/jenney-qiu/archive/2012/03/28/2421819.html

http://www.cnblogs.com/bokin/archive/2012/12/14/2816864.html

1、

为什么行内元素(例如<a>)设置float之后才能用width调整宽度?

因为只有块元素才会有物理属性,在css世界里边,有三种形态的东西,

1. 块元素。 特性:有物理属性,width,height写值起作用,而且要占据一行。
2. 内联元素。 特性:没有物理属性。但是margin,padding值有用。不占据一行,后边可以有兄弟元素。
3. 即是块又是内联,根据兄弟兄弟元素决定。

为什么是float之后才会有物理属性,这就是块与内联元素相互转化的问题。
块元素 -> 内联元素: display:inline;
内联元素 -> 块元素: display:block;

float就是隐性的把内联元素转化为块元素,这是对内部的特性就是有物理特性,但是他不占据一行。对外是内联元素的属性。他有个坏处就是会影响兄弟元素。相当于:display:inline-block;
那为什么不直接display:inline-block;因为这个玩艺在ie6下有几个px的bug。

 

 

 

CSS中margin-top/bottom(padding-top/bottom)百分比为何以最近的块级祖先元素的宽度而不是高度作计算?

posted @ 2015-05-09 21:03  志在天涯  阅读(148)  评论(0编辑  收藏  举报