Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          使用float時出現(xiàn)的問題

          一個非常常見的CSS問題,定位使用浮動的時候,下面的層被浮動的層所覆蓋,或者層里嵌套的子層超出了外層的范圍。

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內(nèi)容

          解決的方法

          陳舊的方法--使用clear:both

          通常的解決辦法是在浮動層后面添加一個額外元素,例如一個div或者一個br,并且定義它的樣式為clear: both。

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內(nèi)容,紅框?qū)雍竺孢€嵌入了一個沒有內(nèi)容的層<div style="clear:both;"></div>

          通常的解決辦法是在浮動層后面添加一個額外元素,例如一個div或者一個br,并且定義它的樣式為clear: both。

          CSS的方法--使用:after

          這種方法在在文章《How To Clear Floats Without Structural Markup》中被提到。

          /*需要用到的CSS樣式表的最初設想*/
          .clearfix:after {
          content: ".";
          display: block;
          height: 0;
          clear: both;
          visibility: hidden;
          }

          /*實際用到的CSS樣式表(針對不同瀏覽器做了優(yōu)化)*/
          .clearfix:after {
          content: ".";
          display: block;
          height: 0;
          clear:both;
          visibility: hidden;
          }
          .clearfix {display: inline-table;}
          /* Hides from IE-mac "*/ *
          html .clearfix {height: 1%;}
          .clearfix {display: block;}
          /* End hide from IE-mac */

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內(nèi)容,對這個紅框?qū)討昧松厦嫣岬降腃SS類.clearfix

          CSS的方法--使用overflow

          前面的2種方法可以很好解決浮動超出的問題,但是如果當你真的需要對層或者層里的對象進行clear的時候怎么辦?一種簡單的方法就是用overflow屬性,這個方法最初的發(fā)表在《Simple Clearing of Floats》,又在《Clearance》和《 Super simple clearing floats》中被廣泛討論。

          /*需要用到的CSS樣式表的最初設想(對IE不起作用)*/
          .clearfix2{overflow: auto}

          /*實際用到的CSS樣式表(針對不同瀏覽器做了優(yōu)化)*/
          .clearfix2{
          _height:1%; /*height前面的下劃線是必須的*/
          overflow:auto;
          }

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內(nèi)容,對這個紅框?qū)?
          posted on 2010-01-07 14:50 seal 閱讀(566) 評論(0)  編輯  收藏 所屬分類: CSS
          主站蜘蛛池模板: 江源县| 巴彦淖尔市| 宝山区| 三穗县| 谢通门县| 唐河县| 离岛区| 郁南县| 克东县| 双峰县| 绥棱县| 青浦区| 苍山县| 佛山市| 穆棱市| 洪洞县| 乡宁县| 嘉兴市| 富锦市| 武安市| 濉溪县| 扬州市| 黑山县| 三江| 沁水县| 石家庄市| 新巴尔虎左旗| 龙泉市| 中宁县| 忻城县| 金堂县| 大田县| 姚安县| 东方市| 岳普湖县| 日土县| 曲周县| 同江市| 黎川县| 施秉县| 尼玛县|