Sealyu

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

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

          使用float時出現的問題

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

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

          解決的方法

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

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

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內容,紅框層后面還嵌入了一個沒有內容的層<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樣式表(針對不同瀏覽器做了優化)*/
          .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;"
          這是紅框的層中的內容,對這個紅框層應用了上面提到的CSS類.clearfix

          CSS的方法--使用overflow

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

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

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

          這是一個浮動在紅框的層中的一個層
          style="border:1px solid green;float:left;color:green;"
          這是紅框的層中的內容,對這個紅框層
          posted on 2010-01-07 14:50 seal 閱讀(559) 評論(0)  編輯  收藏 所屬分類: CSS
          主站蜘蛛池模板: 永善县| 怀安县| 方山县| 宜良县| 洪雅县| 西华县| 南江县| 灌云县| 屏南县| 房山区| 关岭| 湖南省| 饶阳县| 诸城市| 驻马店市| 铜梁县| 息烽县| 双城市| 社会| 玉龙| 泸定县| 罗山县| 金湖县| 佛坪县| 江陵县| 浦江县| 大丰市| 萨迦县| 沈丘县| 融水| 广汉市| 裕民县| 郎溪县| 宜良县| 房产| 平定县| 黔西县| 钦州市| 共和县| 静乐县| 汪清县|