歸納
我們在這章稍微研究了以CSS規(guī)劃版面布局是能夠達成的效果.本章的目的是提供你發(fā)揮的基礎(chǔ),因此示范了兩種主要的做法: 浮動和定位.
我希望你能繼續(xù)深入嘗試CSS布局技巧,去掉頁面內(nèi)的嵌套表格,并且換上更多瀏覽器與設(shè)備能讀取的靈活的結(jié)構(gòu)化的標(biāo)記語法.
如果你想知道更多關(guān)于CSS版面布局的資訊,那么一定要看看這些資源:
技巧延伸
現(xiàn)在我們經(jīng)過了建立基本CSS布局的基礎(chǔ),該是討論Windows版Internet Explorer 5與5.5版,以及它們錯誤解析CSS盒模型這個不幸問題的時候了.稍后也會分享一個通過平鋪背景圖片達成等高欄位布局的秘密技巧.
盒模型問題
本章開始的時候我們討論了建立多欄CSS布局的方法,只用width屬性定義每欄的寬度,當(dāng)你開始為這些欄位加上補丁,邊框的時候,事情就變得有些復(fù)雜了.為什么?
不幸的是,Internet Explorer 5 for Windows在加上內(nèi)外補丁,邊框的時候,無法正確計算外包元素的寬度.
舉例來說,除了IE5 for Windows之外,所有支持CSS1的瀏覽器都會將外包元素的寬度計算為寬度,內(nèi)補丁,邊框三者相加,這是W3C希望所有瀏覽器處理CSS盒模型的方式.
但是IE5 for Windows會將邊框和內(nèi)補丁算在指定的寬度之內(nèi),搞混淆了?不用擔(dān)心,直接看看問題會對你有所幫助.
眼見為實
比較一下圖12-11和12-12,圖12-11是個200像素寬的元素,兩側(cè)各有10像素的內(nèi)補丁,以及5像素的邊框,把水平部分的數(shù)值全加起來,就能知道實際寬度為230像素.
圖12-11 盒模型的正確計算結(jié)果
圖12-12 IE5 for Windows 錯誤的內(nèi)補丁,邊框,寬度計算結(jié)果
這是符合設(shè)計的盒模型:width屬性總是定義元素的內(nèi)容范圍,而內(nèi)補丁,邊框則會加到這個數(shù)值上.
因此,如果將側(cè)邊欄的寬度定義成200像素然后加上內(nèi)補丁和邊框,CSS的聲明如下:
#sidebar { width: 200px; padding: 10px; border: 5px solid black; }
把寬度設(shè)定為200像素,但是側(cè)邊欄實際需要230像素的空間,除了IE5 for Windows以外. IE5 for Windows 里側(cè)邊欄總共會占用200像素,把內(nèi)補丁和邊框都算在里面.
圖12-12 顯示的是當(dāng)width屬性指定為200像素時,邊框和內(nèi)補丁會占用內(nèi)容空間,而不是內(nèi)容空間之外.
出處:藍色理想
責(zé)任編輯:bluehearts
上一頁 標(biāo)記語言——CSS布局 [6] 下一頁 標(biāo)記語言——CSS布局 [8]
◎進入論壇網(wǎng)頁制作、WEB標(biāo)準化版塊參加討論,我還想發(fā)表評論。
|