日期:2014-05-16 浏览次数:20855 次
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 就会出现双