行内设置float

行内元素在设置浮动后可以设置高宽?
当该属性( display )不等于none引起对象浮动时,对象将被视作块对象(block-level),即display属性等于block。也就是说,浮动对象的display特性将被忽略。
float在绝对定位和display为none时不会被应用
对应的脚本特性为stylefloat(ie)或cssfloat(非ie)。(注意这里为stylefloat或cssfloat,而不是float)

因为只有块元素才会有物理属性,在css世界里边,有三种形态的东西,
1. 块元素。 特性:有物理属性,width,height写值起作用,而且要占据一行。
2. 内联元素。 特性:没有物理属性。但是margin,padding值有用。不占据一行,后边可以有兄弟元素。
3. 即是块又是内联,根据兄弟兄弟元素决定。

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



块元素就是会占一行的元素,
行内元素是跟据内容的多少来占位置的,
浮动元素是也是跟据内容的多少来占位置的
浮动之后就会变成块元素了,并且会从正常的文档流中删除它的位置(准确来说不是块元素 不会占一行 只是拥有块特性)
行内容只有margin的左和右会生效
浮动元素的margin跟块元素一样 浮动元素可以设置宽高背景 magin lefttop 都可以设置
行内元素只能设置margin left right




你可能感兴趣的:(css)