关于float和position

Posted 紫陀螺Echo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于float和position相关的知识,希望对你有一定的参考价值。

 

在div 块级元素中,一般我们的div块都是流式的,如果你设定一个div,接下来的div就会另起行,也就是块级元素的定义

但是一般排版不是这样的,最典型的应该就是这种布局了,那么中间的那三个div块,就是float的效果了

 

 

 

 

首先一个简单的例子

 

 

这个就是典型的div块分布(有三个div)

然后如果在float2加上float:left的话,效果就会变成下面这样

float使你设置的元素脱离了父级元素(本来这里float2是最大的div的子级元素)

 

 

float的属性有left,right,none;

那么就可以解决上面第一张图中间的布局,但是这里还有一个问题,就是下面的注脚,

如果直接div不设置任何东西的话,而中间的三个div都设置float:left的话,结果就是这样

那个黄色的注脚隐藏在三个div后面

 

 

这就是前面说的float使得前面三个div脱离父级元素,因此footer成为banner后面的块级元素,

这时,如果想清除float对div的影响,可以用clear:both;(也可以单独设一个div,设定属性clear:both就可以清除影响)

 

这时就完成了第一张图片的布局

注意,如果只是设置一个div的float的话,接下来的div会环绕着这个设置了float的div,如下图

最后,贴个第一张图的样式代码

 1 body{
 2     background:#2286c6;
 3     margin:0px;
 4     padding:0px;
 5     font-size:12px;
 6     font-family:Arial;
 7 }
 8 #container{
 9     margin:0px auto;
10     width:780px;
11     height:600px;
12     text-alignment:left;
13     background:#123456;
14     
15 }
16 #banner{
17     margin:0px;
18     padding:0px;
19     background:#778899;
20     height:150px;
21     width:100%;
22 }
23 #globlink{
24     margin:0px;
25     padding:0px;
26     background:#567;
27     height:50px;
28     width:100%;
29 }
30 #left{
31     width:200px;
32     height:370px;
33     background:red;
34     margin:0px;
35     padding:0px 0px 5px 0px ;
36     color:#d8ecff;
37     float:left;
38 }
39 
40 #middle{
41     width:400px;
42     height:370px;
43     background:blue;
44     margin:0px 2px ;
45     padding:0px 0px 5px 0px ;
46     color:#d8ecff;
47     float:left;
48 }
49 #right{
50     width:176px;
51     height:370px;
52     background:pink;
53     margin:0px ;
54     padding:0px 0px 5px 0px ;
55     color:#d8ecff;
56     float:left;
57 }
58 #footer{
59     width:100%;
60     height:30px;
61     background:yellow;
62     margin:1px 0px 0px 0px ;
63     padding:1px 0px ;
64     color:#d8ecff;
65     clear:both;
66 }
View Code

 

以上是关于关于float和position的主要内容,如果未能解决你的问题,请参考以下文章

float和position的区别(转)

display-float-position

如何使用html的定位position和浮动float

float和position

CSS中的Position属性和Float属性

float对内联元素和块元素的影响