1.float与position:absolute的异同点
相同点:都会是元素脱离文档流
不同点:1)float使元素脱离文档流后,以前的位置会被回收,相邻元素盒子会无视它的存在,从而占据它原始的位置,但是元素中的文本内容会识别到它的存在,从而围绕它排列。效果如下图
2)position:absolute使元素脱离文档流后,以前的位置会被回收,相邻元素盒子以及元素中的文本内容都会无视它的存在,从而占据它原始的位置,效果如下图
*在写网页的时候,通常会选择将子元素浮动,父元素占据位置,这样可以避免后面的元素往前堆积。尽可能选择float,因为可以用clear:both(right或right)来消除对后面元素的影响
*在写多个人同类型的div元素时(像下图这样的),div中的文本是写在图片之上且需要定位,这时最好给文本内容的父元素(即div)设置一个相对定位,让文本相对于父元素定位,这样其他同类型的div就不需要在重新定位,直接复制原先写好的div就可以了。
注:只要父元素定位了(不管是绝对定位还是相对定位),子元素使用position:absolute属性,就是相对于父元素定位
3.子元素使用float后脱离文档流,若父元素没有设置高度,则会没有高度,也就无法设置父元素背景颜色,这情况下可使用overflow:hidden(自动识别高度),从而给父元素设置背景颜色
4.行内元素不能设置宽高,顶部边距及底部边距。