<form id="9f791"><nobr id="9f791"></nobr></form>

              網站首頁 網站建設 公司動態 行業新聞 案例展示 關于我們

              文章內容

              再來一個清除浮動(clearfix)

              日期:2013-12-14  來源:攀枝花惠康網絡公司

              在寫HTML代碼的時辰,發此刻Firefox等合適W3C尺度的瀏覽器中,如不美觀有一個DIV作為外部容器,內部的DIV如不美觀設置了float樣式,則外部的容器DIV因為內部沒有clear,導致不能被撐開。看下面的例子:

              HTML4STRICT代碼:

              1. <div style=“width:200px;border:1px solid red;”>
              2. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              3. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              4. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              5. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              6. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              7. </div>

              顯示的結不美觀如下:

              P_1160709253_0.gif
              容器DIV沒有被撐開

              巨匠可以看到,作為外部容器的邊框為紅色的DIV,沒有被撐開。這是因為內部的DIV因為float:left之后,就丟失蹤了clear:both和display:block的樣式,所以外部的DIV不會被撐開。
              HTML4STRICT代碼:

              1. <div style=“width:200px;border:1px solid red;” class=“clearfix”>
              2. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              3. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              4. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              5. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              6. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              7. </div>

              我們想讓外部容器的DIV跟著內部DIV增多而增添高度,要怎么解決呢?

              以前我都是用這樣的體例來解決:
              HTML4STRICT代碼:

              1. <div style=“width:200px;border:1px solid red;”>
              2. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              3. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              4. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              5. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              6. <div style=“float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
              7. <div style<div style=”clear:both”></div> 。這樣,其實就在最后增添了clear的動作。

                可是,我總感受,這么多加一個DIV有點不妥。一是多了一個沒有意義的DIV,二是在用dojo做Drag & Drop的時辰,因為這個DIV是容器DIV的一個字節點,如不美觀這個節點被移動,則會造成排版上的Bug:如不美觀要顯示的藍框的DIV被移到這個DIV之后,則因為clear:both,它會被強制換一行顯示。所以,我一向在尋找更好的解決法子。

                首先設置這樣的CSS:
                CSS代碼:

                1. .clearfix:after {
                2. content: “.”;
                3. display: block;
                4. height: 0;
                5. clear: both;
                6. visibility: hidden;
                7. }

                然后,我們再改削原本的HTML代碼,讓外部的容器DIV來使用這個CSS:

                昨天在無數次的詢問了Google年夜仙后,我終于找到了How To Clear Floats Without Structural Markup 這篇文章,找到體味決的法子。

                可是,在文章中說,Windows IE并不撐持這樣做。所以要讓IE也完美顯示,則必需在clearfix這個CSS界說的后面加上一些專門為IE設定的HACK。CSS如下:
                CSS代碼:

                1. .clearfix:after {
                2. content: “.”;
                3. display: block;
                4. height: 0;
                5. clear: both;
                6. visibility: hidden;
                7. }
                8. /* Hides from IE-mac \*/
                9. * html .clearfix {height: 1%;}
                10. /* End hide from IE-mac */

                在Firefox里測試一下,哈哈,這樣做簡直很有用,顯示正常,而且dojo的 Drag & Drop 也不會有問題了。原本,這個clearfix的CSS使用了after這個偽對象,它將在應用clearfix的元素的結尾添加content中的內容。在這里添加了一個句號”.”,而且把它的display設置成block;高度設為0;clear設為both;visibility設為潛匿。這樣就達到了撐開容器的目的啦。

                因為轉義字符”\”,Mac IE瀏覽器會忽略失蹤這段Hack,但Windows IE不會,它會應用 * html .clearfix {height: 1%;} 來達到撐開DIV容器的目的(貌似Mac IE沒有法子解決這個問題,不外幸好用戶數目是在是太少了,Safari撐持就可以了:p)。

                測試一下,不美觀真年夜功樂成。

                P_1160709321_0.gif

                文章來源:攀枝花惠康網絡公司

                惠康網絡,是一家專業從事攀枝花網站建設,攀枝花網站制作,攀枝花網站設計公司,提供網站建設一條龍服務(網站域名注冊+網站服務器租用+網站開發+網站維護+網站營銷推廣),惠康網絡立足攀枝花,輻射全中國,攀枝花惠康網絡的客戶已經遍布國內各地大中小城市,我們高效優質的網站建設服務深受用戶好評。

              客服熱線:tel(謝先生)  客服QQ:1323605005  
              服務郵箱:yewubu@huikon.com(售前咨詢)  jishubu@huikon.com(技術部)  shouhou@huikon.com(售后服務)
              公司地址:四川省攀枝花市
              郵編:617200

              欧美夫妇交换俱乐部在线观看_成全高清视频免费观看_波多野结衣57分钟办公室_粉嫩国产白浆在线播放

                      <form id="9f791"><nobr id="9f791"></nobr></form>

                          >