CSS05:浮动和定位


浮动

display

块元素默认独占一行,有高度和宽度;而行内元素没有高度和宽度,不能独占一行

display属性可以转换元素类型,是实现行内元素排列的一种方式,但是方向不可控,更多是使用float







    
    我的网页

    





div元素
span行内元素

float和clear

float属性可以让块元素浮动起来,在一行显示多个div元素,但是浮动起来的元素会随其他浮动改变位置,会造成父级边框塌陷

clear属性可以让浮动的左右不存在其他浮动,互不干扰







    
    我的网页

    





浮动与定位

父级边框塌陷

父级元素不设置高度时,随内容增加自适应高度。当父级元素内部的子元素全部都设置浮动float之后,子元素会脱离标准流,不占位,父级元素检测不到子元素的高度,高度降为0,即产生边框塌陷

四种解决方法:增加父级元素高度、添加一个空的div标签、父级元素添加属性overflow: hidden、添加父级伪类:after







    
    我的网页

    





浮动与定位

定位

相对定位

position: relative,基于原来的位置进行偏移(仍然在标准流中,原来的位置会被保留

top、bottom、left、right,值为正数时表示远离对应方向的距离







    
    我的网页

    










绝对定位

position: absolute,有两种情况:(脱离标准流,原来的位置不会被保留

1、如果父级元素没有定位,则相对于浏览器偏移

2、否则相对于父级定位偏移







    
    我的网页

    












固定定位

position: fixed,基于浏览器固定位置







    
    我的网页

    










z-index

z-index 属性是用来调整元素及子元素在 z 轴图层上的顺序,值越大越上层

前提:元素必须有定位才能使用z-index







    
    我的网页

    





枫原万叶
CSS