天天看点

CSS中元素浮动的清除

    在网页中,使用浮动元素的时候,会影响后面相邻的固定元素,由于不同的浏览器对浮动属性的解释存在差异,所以需要对某些元素的浮动属性进行清除,

清除浮动属性时,使用的属性是清除浮动属性(clear).

 1. 清除浮动属性(clear)

    用来清除相邻元素的浮动属性,在清除浮动属性clear时中,可以使用4种属性值,分别为none, left, right和both,

     clear: none | left | right | both;

    none: 不清除浮动属性

    left: 清除元素的左侧浮动属性

    right:清除元素的右侧浮动属性

    both:清除元素的两侧浮动属性

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> CSS属性 </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style>
    .float {
    float: left;
    width: 200px;
    height: 100px;
    background: #666666;
  }
  .clear {
   clear: left;
   float: left;
   width: 200px;
   height: 100px;
   background: #999999;
  }
  </style>
 </head>

 <body>
  <div class="float">这是一个浮动元素</div>
  <div class="clear">这是一个清除浮动属性的元素</div>
 </body>
</html>      
CSS中元素浮动的清除

    第二个元素清除了浮动元素的左侧浮动属性,所以两个元素将换行显示。

2.清除浮动与固定元素

   当清除浮动元素的右侧浮动属性的时候,由于固定元素在浮动元素的后面时会同行显示,所以无法显示清除浮动的效果,在实际使用浮动清除属性的时候,常常会忽略

这一点,以致造成布局上的困扰。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style>
     .float {
     float: left;
     width: 200px;
     height: 100px;
     background: #666666;
   }
   .clear {
    clear: right;
    float: left;
    width: 200px;
    height: 100px;
    background: #999999;
   }
  </style>
 </head>

 <body>
  <div class="clear">这是一个清除浮动属性的元素</div>
  <div class="float">这是一个浮动元素</div>
 </body>
</html>      
CSS中元素浮动的清除

    在第二个元素中,定义元素的浮动属性值为左浮动,此时由于右侧元素即使没有浮动属性,依然可以显示在第1个

元素的右侧,所以无法显示清除浮动的效果。