當(dāng)前位置:博客首頁>>CSS/DIV >> 閱讀正文

學(xué)習(xí)CSS+DIV網(wǎng)頁布局總結(jié)的一些經(jīng)驗

作者: 鄭曉 分類: CSS/DIV 發(fā)布于: 2011-09-05 20:45 瀏覽:4,398 沒有評論


讓你使用DIV+CSS排版 不是讓你用換個標(biāo)簽然后再去按照表格的方式去排版

而是做到內(nèi)容與表現(xiàn)的分離

1: ID用于標(biāo)識頁面單獨元素以及持久行的結(jié)構(gòu)性元素 方便JS的調(diào)用

類用于標(biāo)識同一頁面可重復(fù)定義使用的結(jié)構(gòu)性元素 ID與類的命名需與表現(xiàn)形式無關(guān) :leftContent 而使用有意義的定義方式:sideBar等等。命名方式遵循“駝峰式大小寫(標(biāo)志符由多個單詞組成 除首詞首字母小寫外 其余單詞首字母均大寫)”

2:避免濫用類 當(dāng)類型的結(jié)構(gòu)需要不一樣的表現(xiàn)時 記得什么是層疊樣式表 具體結(jié)構(gòu)中的p a h1等可使用如下方式:div.sideBar p{}定義即后代選擇器+ID或類選擇器組合方式。

3:DIV與SPAN IV(塊級框)用于對塊級元素的分組 SPAN(行內(nèi)框)用于對行內(nèi)元素分組標(biāo)識

4:對于頁面基本默認(rèn)的方式可以選擇通用選擇器(*標(biāo)識)進(jìn)行定義 * { padding:0; margin:0;}

5: body 也是可以添加ID和類的 這樣就可以為其添加特別樣式。

6:樣式表中導(dǎo)入樣式表需在頂端 覆蓋規(guī)則為本身樣式覆蓋導(dǎo)入樣式

7:CSS樣式表細(xì)分化 顏色 布局 風(fēng)格 表單 均可分離 這樣對以后的修改和風(fēng)格設(shè)計更方便

8:盒模型:內(nèi)→外

content←width height(補充:height只有在父元素定義了絕對高度時其%才有意義)
border
padding(內(nèi)補丁)-“填充”
background-image
background-color
margin(外補丁)-“空白邊”透明 可為負(fù)值

記住:在css中 width是指內(nèi)容區(qū)域的寬度

IE/WIN與盒模型:

IE5.5/IE6怪異模式下: 元素框總寬度=content.width+margin.width

Firefox/Opera/..?? :? 元素框總寬度=content.width+padding.width+border.width+margin.width

差異在于:IE5.5/IE6怪異模式下 width=有效content.width+padding.width+border.width 內(nèi)補丁和邊框被算在內(nèi)容寬度里面

#select{width:750px;padding:10px;border:5px} IE怪異模式:總寬度:750px FF/OP:780px

IE怪異模式:有效內(nèi)容寬度:750-20-10 FF/OP:750
IE6正常模式下:同于FF/OP

處理方法:在父元素或子元素中使用padding 本身不使用

空白邊疊加:當(dāng)兩個空白邊疊加時 頂或底邊將會疊加 實際空白邊高度=空白邊大的值

例:

<div id=”top” style=”margin:0 0 10px 0;”></div><div id=”bottom” style=”margin:20px 0 0 0;”></div>

空白邊高度為20px

但是如果這個時候你添加邊框或則填充,將不再疊加

//定位機制//

9:相對定位(relative):相對于其默認(rèn)初始位置 絕對定位:相對父級元素或畫布、HTML元素 與文檔流無關(guān) 可覆蓋其他元素 使用Z-INDEX 控制其層次。IE5.5/IE6下 對right bottom時 需設(shè)定框的寬高 后則根據(jù)畫布右底定位

絕對定位(absolute)

10:float浮動:記?。骸霸跇?biāo)準(zhǔn)瀏覽器中 浮動元素脫離了文檔流 不占據(jù)外圍容器空間” 明白了這點 你就會明白為什么IE和FIREFOX下表現(xiàn)的不同了。IE5.5、IE6浮動元素依然占據(jù)外圍容器空間

例如:怎么在IE下feeter正常 在firefox下就跑上去了呢?^_^ 清除浮動吧

IE下 當(dāng)float和text-align定義的方向一樣時 出現(xiàn)雙倍錯誤:

select{float:left;text-align:left;margin:0 10px;}

實際左邊margin-left:20px;FF/OP:10px 解決:加上display:inline;

11:徹底理解 “清除浮動”clear

clear:none、left、right、both、
表示當(dāng)前框元素哪些邊不應(yīng)該挨著浮動框
理解了10中float在不同瀏覽器下的表現(xiàn) 你也就知道如何去使用清楚了。

12:背景圖像的定位:只談百分比 background:url(image-url.gif)no-repeat 20% 30% 20%:將圖像X軸20%處與父元素X軸20%處重合 Y同理 top=0% bottom=100% left=0% right=100% center=50%

13:滑動門/

左右兩個DIV 背景分別定義 一般左背景圖像比較長; 左背景定位:left center 右背景定位:right center

外部控制容器寬度一般小于等于兩個背景和 這樣當(dāng)內(nèi)容動態(tài)變化時候 右背景圖像便感覺像在左背景圖像上滑動,故名。

這樣也可以實現(xiàn):<div id=”nav”><ul><li><a href=”index.html”><span>首頁</span></a></li></ul></div>

css:

#nav a{float:left;background:url(“../images/navLeft.gif”) no-repeat left top;padding:0;text-decoration:none; cursor:hand;}
#nav a span {float:left;display:block;background:url(“../images/navRight.gif”) no-repeat right top;padding:5px 36px 5px 40px;color:#ffffff}

原理相似,注意背景圖像定位。

14:完美的居中布局:body{text-align:center;mini-width:760px;}
div#wrapper{margin:0 auto;text-align:left;width:750px;}

mini-width IE并不認(rèn)識 這是為老瀏覽器準(zhǔn)備的,只是這個值比你需要的實際頁面大就OK

15:小圖標(biāo)有時會給頁面增色不少 用前記得規(guī)劃好 整到一張大圖片上 這樣可以減少服務(wù)器請求次數(shù)。

? ? ? ?

本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時請注明出處及相應(yīng)鏈接。

本文永久鏈接: http://www.yjfs.org.cn/learn-css-div-layout-page-summary-of-some-experience.html

發(fā)表評論

change vcode