CSS浮动布局

html-css021

CSS浮动布局,第1张

说浮动布局,就得先知道文档流,文档流有 正常文档流 脱离文档流

对应的正常文档流如图,

例如01:

结果:

分析:对div01设置了左浮动,使div01脱离了文档流,div01是在div02的上面一层,实际的div02还是占据了一整行,div02的文字部分看着像被挤出来了,其实这就是文字环绕的实现(文字是英文时有点问题)。

例如02:

只设置后面两个div左浮动

结果:

例如03:

全部设置左浮动,会从左到右依次排列。(right的相反)注意这里出现了父元素高度塌陷,height为0

2.浮动带来的影响

效果如图:对比例3,父元素高度塌陷问题解决

此外,浮动可以用来实现两列布局或多列布局

例如:

结果:

层级关系的布局有两种解决方法:

一种方法是使用标签的自然顺序和嵌套顺序来形成合理的布局。

而第一种方法却不是万能的,有时候我们需要将原本位于下层的元素移到另一个元素上方,那可以使用z-index;

当你定义的CSS中有position属性值为absolute、relative或fixed,

用z-index此取值方可生效。

此属性参数值越大,则被层叠在最上面。

例子:

<html>

<head>

<style>

.z1,.z2,.z3{position:absolutewidth:200pxheight:100pxpadding:5px 10pxcolor:#ffftext-align:right}

.z1{z-index:1background:#000}

.z2{z-index:2top:30pxleft:30pxbackground:#C00}

.z3{z-index:3top:60pxleft:60pxbackground:#999}

</style>

</head>

<body>

<div class="z1">z-index:1</div>

<div class="z2">z-index:2</div>

<div class="z3">z-index:3</div>

</body>

</html>

上面三个CSS,将根据z-index的值决定谁在最上层!