層的隨意定位的特性給網(wǎng)頁設(shè)計(jì)者帶來的很大的方便,但同時(shí)也帶來了一定的麻煩。為什么這樣說呢?

  大家都知道,為了讓網(wǎng)頁能夠自動(dòng)地適應(yīng)用戶設(shè)置的分辨率,在網(wǎng)頁制作過程中人們采用了百分比的設(shè)置方式,從而頁面的所有元素從新排版,保證原來的格式。但如果你在頁面上使用了層,你會(huì)發(fā)現(xiàn)當(dāng)瀏覽器大小改變時(shí),層的位置卻沒有改變,結(jié)果它和其他的元素之間的配合出現(xiàn)了錯(cuò)位現(xiàn)象,頁面變得雜亂無章了。而我們是不能夠強(qiáng)制用戶使用特定的分辨率的,那么就只有想辦法讓層的位置也能夠象表格一樣根據(jù)瀏覽器大小的改變而重新定位,這就需要合理地使用相對(duì)定位和絕對(duì)定位了。

  絕對(duì)定位(position:absolute):即層默認(rèn)的定位方式,絕對(duì)于瀏覽器左上角的邊緣開始計(jì)算定位數(shù)值。

  相對(duì)定位(position:relative):層的位置相對(duì)于某個(gè)元素設(shè)置,該元素位置改變,則層的位置相應(yīng)改變。

  對(duì)比兩種定位方式,不難發(fā)現(xiàn),使用相對(duì)定位的層才是真正實(shí)現(xiàn)設(shè)計(jì)者思想的方式,從而完全掌握層的排版。

  那么,絕對(duì)定位有沒有用呢?當(dāng)然有用了,當(dāng)你的網(wǎng)頁全部使用層來排版,而且頁面是使用默認(rèn)的居左放置的,那么使用默認(rèn)的絕對(duì)定位方式可以方便的排版,提高設(shè)計(jì)的工作效率

  在Dreamweaver中,插入的層雖然都是使用的絕對(duì)(absolute)定位方式,但是插入的方式不同,帶來的效果是不同的。前面我們已經(jīng)知道,使用菜單插入的層是沒有定位的坐標(biāo)的,只有當(dāng)你使用鼠標(biāo)拖動(dòng)該層改變其位置后,才會(huì)寫入坐標(biāo)值。而拖拉出來的層的初始位置坐標(biāo)就是鼠標(biāo)開始動(dòng)作時(shí)的坐標(biāo)。

  請(qǐng)明確一個(gè)概念:由Dreanweaver賦予坐標(biāo)值的層是絕對(duì)于瀏覽器邊緣定位的層。不帶坐標(biāo)值的層則是相對(duì)于某元素定位的層!

  所以,最簡(jiǎn)單的設(shè)置相對(duì)定位層的的方式就是:選定插入層的位置(例如某個(gè)單元格或者頁面中某處)將光標(biāo)停留在該位置,然后選擇Insert-->Layer,即可在該位置創(chuàng)建一個(gè)固定大小的層,這個(gè)層就是相對(duì)于該位置定位的了。需要注意,采用這種方式創(chuàng)建的層,你只可以使用鼠標(biāo)調(diào)整它的大小,絕對(duì)不可以移動(dòng)它的位置!也就是說,在屬性面板上,層的位置欄中(Left Top)絕對(duì)不可以有數(shù)值。

  很多情況下,插入的層的位置并不一定準(zhǔn)確,特別是Dreamweaver并非真正的所見即所得的軟件,網(wǎng)頁的排版只有到瀏覽器中顯示才可以真正看到排版的表現(xiàn),所以上面所說的方法就顯的過于簡(jiǎn)單而容易出問題了。這個(gè)時(shí)候,你需要給層一個(gè)定位的參照物,讓它真正地做到相對(duì)的定位。

  簡(jiǎn)單的參照物可以是一個(gè)父層,即先插入一個(gè)相對(duì)定位的空白的層,在此層中插入你真正需要的層,而這個(gè)層是可以隨意拖拉改變位置的。但這樣畢竟在網(wǎng)頁中多插入了一個(gè)空白的層,我想它一定不是專業(yè)的網(wǎng)頁設(shè)計(jì)師所希望的。下面我們介紹使用CSS來實(shí)現(xiàn)真正的相對(duì)定位的層。

  我們需要先設(shè)置一個(gè)CSS Class,來定義定位的方式為相對(duì):

  .ceng { position: relative; }

  然后,賦予你所需要的參照物(可以是 table,tr,td... )一個(gè) Css屬性為這個(gè)類。這樣瀏覽器就會(huì)以它的左上角為原點(diǎn),建立新的坐標(biāo)系。再在這個(gè)參照物的下級(jí)插入層,則層絕對(duì)于該參照物定位,如果你需要改變層的位置,你可以直接在層的屬性面板上輸入Left Top的數(shù)值(不可以使用鼠標(biāo)拖拉),切記此數(shù)值的坐標(biāo)原點(diǎn)是你所指定的參照物,而不是瀏覽器的邊緣(在Dreamweaver中編輯時(shí),該層看起來象是絕對(duì)于頁面邊緣定位的,但在瀏覽器中,它是絕對(duì)于你所指定的參照物的)。

  很多朋友使用層是為了等到動(dòng)態(tài)的效果,例如使用時(shí)間線讓某個(gè)物體運(yùn)動(dòng)起來,增加網(wǎng)頁的動(dòng)感,那么相對(duì)定位后的層還可以運(yùn)動(dòng)嗎?回答當(dāng)然是肯定的。由于定義對(duì)象的兩個(gè)位置需要拖動(dòng)該對(duì)象改變位置,所以使用簡(jiǎn)單的層定位的方法是不行的,但如果你使用CSS來設(shè)置相對(duì)定位的效果的話,那么就完全可以實(shí)現(xiàn)了。只是需要注意,定義運(yùn)動(dòng)的初始位置和結(jié)束位置時(shí),你仍然不可以使用鼠標(biāo)拖拉,而只能自行輸入Left和Top的數(shù)值。

  本來層的使用并不是很復(fù)雜的,但我卻把它單獨(dú)作為一個(gè)章節(jié),原因就是層的定位有一定難度,希望朋友們看過以上的介紹后,在Dreamweaver中多實(shí)驗(yàn)幾次,否則還是容易出現(xiàn)問題的。

  OK!關(guān)于層的使用就說這么多。