日期:2014-05-16 浏览次数:20846 次
float的一些使用
博客布局形式
效果图如下:

参考代码如下:
<style>
body
{
margin-left:0,100px;
}
div
{
width:200px;
height:200px;
background:blue;
}
#left
{
float:left;
}
#right
{
float:right;
}
#footer
{
margin:0 auto;
width:800px;
height:50px;
background:red;
clear:both;
}
</style>
</head>
<body bgcolor="gray">
<div id="left"></div>
<div id="right"></div>
<div id="footer"></div>
</body>

<style type="text/css">
#header,#main,#footer
{
width:800px;
margin:0 auto;
}
#header
{
height:100px;
background:blue;
}
#left,#mid,#right
{
height:300px;
float:left;
}
#left,#right
{
width:150px;
}
#left
{
height:200px;
background:pink;
}
#mid
{
width:500px;
background:green;
}
#right
{
background:gold;
}
#main
{
background:brown;
}
#footer
{
clear:both;
height:100px;
background:aqua;
}
.clear
{
clear:both;
}
</style>
</head>
<body>
<div id="header">头</div>
<div id="main">
<div id="left">左</div>
<div id="mid">中</div>
<div id="right">右</div>
<div class="clear"></div>
</div>
<div id="footer">尾</div>
</body>
css 的一些注意事项
当有一个块有父块,子类有浮动,而父亲没有设置高度时,可能会出现父类的某些设置不生效,如background,
解决办法就是去掉浮动的影响。方法有三种
(1) 通过在父类的子类的后面,加一个块<div class="clear"></div> ,设置样式.clear
{
clear:both; //w3c推荐
}
(2)设置父块的样式
overflow:hidden; 大部分浏览器都不会有问题,但是ie6没有效果,这是还需要添加一个属性zoom:1,用来解决ie6的css兼容性问题
(3)设置父块的一个新类
<style type="text/css">
#header,#main,#footer
{
width:800px;
margin:0 auto;
}
#header
{
height:100px;
background:blue;
}
#left,#mid,#right
{
height:300px;
float:left;
}
#left,#right
{
width:150px;
}
#left
{
height:200px;
background:pink;
}
#mid
{
width:500px;
background:green;
}
#right
{
background:gold;
}
#main
{
background:brown;
}
#footer
{
clear:both;
height:100px;
background:aqua;
}
.clearFix:after
{
clear:both;
height:0;
display:block;
line-height:0;
visibility:hidden;
content:"";
}
.clearFix
{
zoom:1;
}
#zoom
{
width:1000px;
height:1000px;
background:blue;
zoom:0.1;
}
</style>
</head>
<body>
<div id="header">头</div>
<div id="main" class="clearFix">
<div id="left">左</div>
<div id="mid">中</div>
<div id="right">右</div>
</div>
<div id="footer">尾</div>
<div id="zoom"></div>
</body>
这种方法,比较常用。
又是float在某些浏览器里面还会出现一些特别的效果
如在ie6中设置了margin和float 就会出现双