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

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

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


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

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

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

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

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

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

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

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

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

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

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

content←width height(補(bǔ)充:height只有在父元素定義了絕對(duì)高度時(shí)其%才有意義)
border
padding(內(nèi)補(bǔ)?。?“填充”
background-image
background-color
margin(外補(bǔ)丁)-“空白邊”透明 可為負(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)補(bǔ)丁和邊框被算在內(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)兩個(gè)空白邊疊加時(shí) 頂或底邊將會(huì)疊加 實(shí)際空白邊高度=空白邊大的值

例:

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

空白邊高度為20px

但是如果這個(gè)時(shí)候你添加邊框或則填充,將不再疊加

//定位機(jī)制//

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

絕對(duì)定位(absolute)

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

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

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

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

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

11:徹底理解 “清除浮動(dòng)”clear

clear:none、left、right、both、
表示當(dāng)前框元素哪些邊不應(yīng)該挨著浮動(dò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:滑動(dòng)門/

左右兩個(gè)DIV 背景分別定義 一般左背景圖像比較長(zhǎng); 左背景定位:left center 右背景定位:right center

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

這樣也可以實(shí)現(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)識(shí) 這是為老瀏覽器準(zhǔn)備的,只是這個(gè)值比你需要的實(shí)際頁面大就OK

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

? ? ? ?

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

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

發(fā)表評(píng)論

change vcode