徹底弄懂閉合浮動元素CSS教程
一般説來如果某個子元素使用了浮動(float),那父元素總是不能確切地知道子元素是在什麼位置結束的,所以父元素的下邊框總是從子元素的中間甚至是頂部穿過,看起來很不舒服。
最近兩個月斷斷續續做了好幾個網站的美工,做的過程中對DIV Css的標準開發有了進一步的'瞭解。有兩點收穫最大,一是徹底弄懂了CSS的盒子模式(Box Model),再一個就是搞定了困擾我很久的“閉合浮動元素”的問題:
一般説來如果某個子元素使用了浮動(float),那父元素總是不能確切地知道子元素是在什麼位置結束的,所以父元素的下邊框總是從子元素的中間甚至是頂部穿過,看起來很不舒服。
最早時我都是在子元素結束後單獨加個
或
將其屬性設置為“clear:all;”,但這樣一來就需要生成不少沒用的空標籤,甚至有些網站需要修改ASP代碼以自動添加這些空標籤,只能算是下策。
後來發現當父標籤也設置為浮動(float)時就可以在正確的位置閉合了,所以就把父容易也浮動起來,這樣一來很多ASP代碼就不需要改了,遇到需要添加含Clear屬性的空標籤時如果不能從模板中添加,而需要從ASP代碼中添加時,就不需要改ASP代碼了,只需要把父容器設為浮動,如果還需要改ASP,那就再把父容器的父容器設為浮動,一層層地浮動上去,總能解決問題的。這雖然能省不少事,但很容易造成整個頁面中全是浮動元素,-_-!!!也只能算是中策而已。
再後來,在網上搜索別的東西時偶然發現有人説只要在父容器的CSS屬性中加上以下兩個屬性就可以搞定了:
overflow: auto;
_height: 1%;
試了一下,果然好用,這麼一來,這在目前應該算是解決這一問題的上策了:不需要對頁面做任務修改,也基本上不需要對父容器--甚至是父容器的父容器做什麼改動,只給父容器添加兩個無所謂的屬性就搞定了。
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
javascript 日期類型學習筆記
1.創建日期對象複製代碼代碼如下:varnow=newDate();//獲得當前系統日期和時間varsomeDate=newDate(e("May25,2012"));varsomeDate=newDate("May25,2012");//與上相同varsomeDate=newDate((2010,0));//GMT時間2010年1月1日凌晨0時varsomeDate=newDate(2010,0);/...
-
JavaScript 函數表達式
JavaScript中創建函數主要有兩種方法:函數聲明和函數表達式。這兩種方式都有不同的適用場景。這篇筆記主要關注的是函數表達式的幾大特點以及它的使用場景,下面一一描述。主要特點可選的函數名稱函數名稱是函數聲明的必需組成部分,這個函數名稱相當於一個變量,新定...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...