HTML開發(fā)王

出版時(shí)間:2008-6  出版社:電子工業(yè)出版社  作者:張亞飛  頁數(shù):439  字?jǐn)?shù):742400  
Tag標(biāo)簽:無  

前言

  自從20世紀(jì)70年代因特網(wǎng)誕生以來,以WWW技術(shù)為支撐的萬維網(wǎng)近十多年來迅猛發(fā)展,滲透到社會生活的各個(gè)方面。從舊金山郊外的硅谷,到新竹日夜通明的半導(dǎo)體工廠,它正在改變著我們工作和生活的方式。.  全世界有3/4的人還從未接觸過因特網(wǎng),這也預(yù)示著我們這些正在從事與因特網(wǎng)相關(guān)工作的人員,以及即將從事此類工作的設(shè)計(jì)者、開發(fā)者都將有一個(gè)美好的明天。  必須掌握的萬維網(wǎng)常識  用戶首先必須掌握萬維網(wǎng)的基本常識,這是萬維網(wǎng)的基本知識結(jié)構(gòu),也是“開發(fā)王”這套書所基于的基本理論基石和貫穿于始終的綱要。并且,這也不單單是一個(gè)知識結(jié)構(gòu)的問題,其實(shí)任何的技術(shù)知識都是隨著技術(shù)本身的發(fā)展慢慢積累起來的,是技術(shù)不斷變化、不斷延伸的結(jié)果,所以知識結(jié)構(gòu)往往也是一個(gè)怎樣正確認(rèn)識技術(shù)發(fā)展史的問題。下面我們就來簡要介紹一下萬維網(wǎng)的技術(shù)簡史和萬維網(wǎng)的基本知識結(jié)構(gòu),這也是閱讀“開發(fā)王”這套書的基本前提?! WW也就是我們經(jīng)常提到的萬維網(wǎng),它是Internet上那些支持WWW和超文本傳輸協(xié)議(HTTP)的客戶機(jī)與服務(wù)器的集合,通過它可以存取世界各地的超文本文件,內(nèi)容包括文字、圖形、聲音、動畫、資料庫,以及各式各樣的軟件等。  HTML是萬維網(wǎng)所基于的標(biāo)準(zhǔn)的格式化語言,它自從被發(fā)明以來就構(gòu)成了整個(gè)萬維網(wǎng)設(shè)計(jì)和開發(fā)的核心,這也是我們每個(gè)從業(yè)人員都必須熟知于心、了然于胸的,它是我們從業(yè)于萬維網(wǎng)的基石?! ¤b于HTML扮演的重要角色和萬維網(wǎng)不斷發(fā)展的客觀要求,我們需要不斷改進(jìn)和細(xì)化它的功能——將結(jié)構(gòu)、內(nèi)容和樣式分離已是大勢所趨,這也是CSS(層疊樣式表)出現(xiàn)的原因。  在樣式表沒有出現(xiàn)之前,HTML用于呈現(xiàn)的功能實(shí)際肩負(fù)著兩種責(zé)任:一種是語義的呈現(xiàn),一種是表現(xiàn)形式的呈現(xiàn)。例如,b元素(英文bold的縮寫)既要表現(xiàn)加粗的語義,實(shí)際上還要用做呈現(xiàn)的標(biāo)識。  樣式表的出現(xiàn)簡化了HTML語言并且減輕了HTML對表現(xiàn)形式的責(zé)任,它使設(shè)計(jì)者和用戶都可以控制文檔的表現(xiàn)形式,包括字體信息、對齊方式、顏色等。  HTML和CSS一道構(gòu)成了萬維網(wǎng)應(yīng)用的客戶端基石,它們又被稱為萬維網(wǎng)應(yīng)用程序的展示層?! ∪f維網(wǎng)在不斷前進(jìn),人們對于新功能的渴望也在不斷增強(qiáng),而這些新功能理所應(yīng)當(dāng)能夠針對不同用戶的需求做出不同的響應(yīng),這也就是動態(tài)網(wǎng)頁技術(shù)層出不窮的原因。  在這個(gè)目標(biāo)的驅(qū)使下,微軟創(chuàng)造了ASP技術(shù),進(jìn)而又創(chuàng)造了ASP.NET;SUN創(chuàng)造了Servlet,進(jìn)而又創(chuàng)造了JSP;Adobe創(chuàng)造了ColdFusion;而萬維網(wǎng)的技術(shù)社區(qū)會聚著不計(jì)其數(shù)的開發(fā)者,他們中的杰出者創(chuàng)造了PHP并使之成為流行的動態(tài)網(wǎng)頁開發(fā)技術(shù)。  這些動態(tài)網(wǎng)頁技術(shù)可以針對用戶的不同請求做出不同的響應(yīng)?!罢埱?響應(yīng)”正是萬維網(wǎng)應(yīng)用程序的基本模式(不管是靜態(tài)網(wǎng)頁還是動態(tài)網(wǎng)頁)。不同的動態(tài)網(wǎng)頁開發(fā)技術(shù)有不同的對應(yīng)于“請求/響應(yīng)”的語言特點(diǎn),但它們也都有共同的實(shí)現(xiàn)特點(diǎn),那就是針對請求生成不同的HTML網(wǎng)頁,并把它傳遞到用戶的客戶端軟件中。正如你經(jīng)常用到的那樣,這個(gè)客戶端軟件被稱為“瀏覽器”?! ∮捎趧討B(tài)網(wǎng)頁總是位于服務(wù)器上,而它生成的HTML網(wǎng)頁又總是被瀏覽器瀏覽,所以這個(gè)開發(fā)經(jīng)常被描述成B/S,也就是Browser(瀏覽器)和Server(服務(wù)器)的縮寫。  所有的基于WWW技術(shù)的動態(tài)網(wǎng)頁技術(shù)都會生成HTML網(wǎng)頁(網(wǎng)頁中也許會包含樣式表,也有可能僅僅是裸數(shù)據(jù)而不包含HTML標(biāo)簽),這也是為何你會看到不同的動態(tài)網(wǎng)頁技術(shù)卻可以創(chuàng)建同樣呈現(xiàn)結(jié)果的根本原因?! ⊥瑯?,在客戶端瀏覽器中你也看不到動態(tài)網(wǎng)頁的源代碼,因?yàn)檫@些源代碼在服務(wù)器上就已經(jīng)被解釋、執(zhí)行,最后被轉(zhuǎn)化成HTML格式的代碼并被傳遞到客戶端。這些網(wǎng)頁之所以被稱為動態(tài)網(wǎng)頁,也正是因?yàn)樗鼈兡軌蚋鶕?jù)不同的請求生成不同的HTML網(wǎng)頁,這個(gè)作為結(jié)果的HTML網(wǎng)頁是“動態(tài)”產(chǎn)生的?! ∵@些動態(tài)網(wǎng)頁技術(shù)和支持它們的底層技術(shù)一道也被稱為中間件,它們構(gòu)成了網(wǎng)絡(luò)應(yīng)用的中間層。由于這個(gè)中間層包含了用于分析用戶不同請求,并對不同請求做出不同響應(yīng)的業(yè)務(wù)邏輯代碼,因此,這個(gè)層又被稱為業(yè)務(wù)邏輯層。  位于業(yè)務(wù)邏輯層之下的是數(shù)據(jù)服務(wù)層,用戶請求所要獲取的數(shù)據(jù)從這里被“篩選”出來,并經(jīng)過業(yè)務(wù)邏輯層被發(fā)送到客戶端—它們被包含在HTML文件中?! 〕鲇谌藗儗?shù)據(jù)海量存儲和便于查詢訪問的渴望,推動著整個(gè)數(shù)據(jù)服務(wù)產(chǎn)業(yè)的發(fā)展,關(guān)系數(shù)據(jù)庫(Relational Database)憑借其自身的特點(diǎn)從它被發(fā)明那天起就成為整個(gè)數(shù)據(jù)服務(wù)產(chǎn)業(yè)的核心。Oracle也正是憑借其著名的關(guān)系數(shù)據(jù)庫產(chǎn)品Oracle 9i成為軟件產(chǎn)業(yè)中僅次于微軟的軟件巨擘。IBM DB2、微軟SQL Server和開源的MySQL也都是關(guān)系數(shù)據(jù)庫產(chǎn)品中的佼佼者?! 《④汷ffice產(chǎn)品組中的Access以其高智能、輕量化和簡單易用性的特點(diǎn)在辦公自動化軟件(OA)領(lǐng)域內(nèi)廣泛應(yīng)用,它也是很多開發(fā)人員學(xué)習(xí)數(shù)據(jù)庫開發(fā)的極佳入門工具?!   ?數(shù)據(jù)服務(wù)層不僅僅是數(shù)據(jù)庫,而且還包含了其他可以用做數(shù)據(jù)的資源,例如XML。XML已經(jīng)成為因特網(wǎng)間標(biāo)準(zhǔn)的數(shù)據(jù)交換格式,它也正在成為數(shù)據(jù)存儲的標(biāo)準(zhǔn)格式。  展示層、業(yè)務(wù)邏輯層、數(shù)據(jù)服務(wù)層構(gòu)成了當(dāng)前萬維網(wǎng)應(yīng)用程序的基礎(chǔ)架構(gòu),它們也被統(tǒng)稱為“三層架構(gòu)”?! ?shí)際上你不得不了解它,它是進(jìn)行萬維網(wǎng)應(yīng)用程序開發(fā)的認(rèn)識論基石,也是實(shí)踐的指南針。設(shè)想存在一個(gè)不遵守該指南的萬維網(wǎng)應(yīng)用程序是不可能的,同樣,設(shè)想任何不了解該指南而進(jìn)行的萬維網(wǎng)應(yīng)用程序開發(fā)也是近似荒謬的。  在“開發(fā)王”系列圖書中,我們針對不同的萬維網(wǎng)技術(shù),對三層架構(gòu)做了精確的、同一的闡述,這是你在全球其他任何地方都無法完整系統(tǒng)地獲得的。不管你愿不愿意承認(rèn),你永遠(yuǎn)都無法擺脫它?! ≡谌f維網(wǎng)軟件開發(fā)日益區(qū)分為涇渭分明的三層架構(gòu)后,市場和技術(shù)并未停止它們前進(jìn)的步伐,它們依舊在不斷地向前延伸。在技術(shù)廠商的推動下,在萬維網(wǎng)的技術(shù)社區(qū)的遙相呼應(yīng)下,三層架構(gòu)中的每個(gè)層次都為了某些特殊的應(yīng)用不斷向其鄰近的層次延伸,首當(dāng)其沖的便是展示層向邏輯層的滲透。  展示層利用客戶端腳本和瀏覽器插件技術(shù)開始分擔(dān)業(yè)務(wù)邏輯層的部分運(yùn)算,而且,它們還有一個(gè)響亮的名字,被稱為“富客戶端”。  JavaScript、Flash和Java Applet目前是實(shí)現(xiàn)展示層分擔(dān)業(yè)務(wù)邏輯層運(yùn)算的主要軟件技術(shù)。JavaScript因?yàn)锳JAX解決方案和DHTML解決方案的結(jié)合而“重獲”新生,而Flash憑借其分布廣泛的Flash Player插件及高效的開發(fā)環(huán)境而正日益成為下一代萬維網(wǎng)客戶端運(yùn)算的核心。與此形成鮮明對比的是Java Applet技術(shù),因?yàn)槠溟_發(fā)的難度極高,以及其客戶端運(yùn)行環(huán)境自身的原因,從其誕生那天起就從未引人注目過,今天,它依然被擱置在某個(gè)角落?! ≌缒阍凇伴_發(fā)王”系列圖書中所看到的那樣,我們已經(jīng)將JavaScript、Flash技術(shù)完全融入到整個(gè)萬維網(wǎng)開發(fā)體系中,現(xiàn)在你理應(yīng)將它們視為一個(gè)整體,而不是再孤立地去看待它們中的任何一個(gè)?! ⊥暾到y(tǒng)的萬維網(wǎng)知識體系能為你帶來什么  是的,這個(gè)問題是每一個(gè)開發(fā)者、雇主、任課教師和學(xué)員所關(guān)心的,而且,很顯然,每個(gè)用戶理應(yīng)關(guān)心。實(shí)際上,每一個(gè)人都應(yīng)該問自己這樣一個(gè)問題。..  用戶還會問:你為何為該套書起名為“開發(fā)王”?它(的內(nèi)容)真的如描述的那么好嗎?  這真的很直截了當(dāng),而且我本人也喜歡直截了當(dāng)。當(dāng)然,每一個(gè)開發(fā)者也都有權(quán)利這樣提問,而我也正想在這里為大家分享這個(gè)問題的答案?! ∵@本書為何被冠以“王”  每本圖書都可能會被冠以“王”這樣的詞匯,以表明這本書是多么偉大,但是并非所有圖書都能名副其實(shí)?! ∽鳛檫@套書的作者,我的眼中只有“王”—這就是我的回答,并且,毫不猶豫。  當(dāng)然,智者從不相信信口而來,每一個(gè)讀者理應(yīng)都是智者,而唯一值得相信的理應(yīng)是事實(shí)。  這套書從最初的準(zhǔn)備,到今天的出版,前后經(jīng)過長達(dá)6年的時(shí)間,前后經(jīng)過了數(shù)以千計(jì)次大小修改。你現(xiàn)在看到的這個(gè)序言我也寫了二三年時(shí)間,序言的目標(biāo)就是做到“增一字嫌冗余,減一字則無從下手”?! 懽鞯倪^程是漫長而痛苦的(偶爾也會有快樂),出版的歷程也是如此。如果作者想出版一本書,就必須首先給出版機(jī)構(gòu)一個(gè)策劃書—也就是這本書的基本情況和設(shè)想?! ∶恳粋€(gè)作者都會想該如何打動出版機(jī)構(gòu)出版它,這是毫無疑問的。  你得苦思冥想……  但實(shí)際上,這很簡單,你必須告訴他們這本書是最棒的,我想,除此之外別無他法。  如果沒有證據(jù),我想你也根本不會相信,更何況那些“眼疾手快”的編輯呢?  當(dāng)然,那是因?yàn)槲医o他們提供了充足可信的證據(jù)。如果你有某個(gè)事實(shí)作為證據(jù),我想你也可以這樣做,讓我們來看一個(gè)簡單的事實(shí)吧:  根據(jù)JavaBeans規(guī)范的要求,一個(gè)JavaBeans必須支持序列化或者外部化,這在JavaBeans規(guī)范5.5節(jié)的第一行就明確地定義了這個(gè)要求。  如果我沒有記錯,那上面白紙黑字寫著下面的一行英文:  All beans must support either Serialization or Externalization.  這意味著只有實(shí)現(xiàn)序列化或者外部化,或者繼承于某個(gè)實(shí)現(xiàn)了序列化或者外部化的基類,才能將一個(gè)Java類視做JavaBeans。但是遺憾的是,當(dāng)你在查閱有關(guān)Java網(wǎng)絡(luò)開發(fā)(包括JSP開發(fā)、JSF、Servlet、Structs等)的圖書和資料時(shí),又有多少圖書和資料教你遵守規(guī)范的要求呢?絕大多數(shù)的Java網(wǎng)絡(luò)開發(fā)圖書和資料在沒有實(shí)現(xiàn)序列化或者外部化時(shí)就告訴我們年輕的開發(fā)者:這是一個(gè)JavaBeans。很明顯,這是跟我們年輕的開發(fā)者開了一個(gè)天大的玩笑!  當(dāng)然,僅僅是玩笑尚不足對我們年輕的開發(fā)者構(gòu)成致命的打擊,關(guān)鍵是按照這樣的闡述開發(fā)出的應(yīng)用程序?qū)o雇主造成致命的、無法挽回的損失?! ∮纱宋乙蚕氲剑?jīng)有開發(fā)人員在讀完一些計(jì)算機(jī)圖書,再經(jīng)歷自己多年的開發(fā)實(shí)踐后有以下感慨:國內(nèi)很多技術(shù)圖書領(lǐng)域都是這樣,好多計(jì)算機(jī)圖書只要最初的那一本錯了,后面的就全是Copy,甚至都不去關(guān)心事物的本源是什么。  但,這僅僅不過是悲劇的開端……  如果究其產(chǎn)生的根源,那么基礎(chǔ)認(rèn)知上存在根源性錯誤是導(dǎo)致這種情況發(fā)生的直接原因?! ∠旅嬉榻B的這個(gè)認(rèn)識和實(shí)踐的錯誤顯得更加復(fù)雜,可能對于一個(gè)初入門的作者和譯者而言顯得有些難了,因?yàn)橐肜斫釰avaBeans的真正作用對他們來說還是有些難度的?! w于JSP規(guī)范并未規(guī)定[jsp:useBean]動作標(biāo)簽必須使用JavaBeans,所以大多數(shù)的Java應(yīng)用程序服務(wù)器(JSP實(shí)現(xiàn))在轉(zhuǎn)化階段并未對其進(jìn)行鑒別(實(shí)際上,就我所知的Java應(yīng)用程序服務(wù)器中,沒有一款對其進(jìn)行鑒別),這導(dǎo)致不計(jì)其數(shù)的開發(fā)者在使用[jsp:useBean]動作標(biāo)簽時(shí)將一個(gè)簡單的Java Class當(dāng)做JavaBeans來使用,而不是有甄別地去應(yīng)用這個(gè)動作標(biāo)簽?! H僅是[jsp:useBean]動作標(biāo)簽中有useBean這個(gè)英文單詞,于是就造成了這樣巨大的錯誤。  你可以看到,在《JSP開發(fā)王》這本書中,我甚至不建議用戶使用[jsp:useBean]動作標(biāo)簽。當(dāng)然,如果非要使用它,那么就必須遵守《JSP開發(fā)王》提出的幾點(diǎn)約束?! ?yán)格遵守規(guī)范和標(biāo)準(zhǔn),警惕低級錯誤可能造成的悲劇  JavaBeans問題的發(fā)生是整個(gè)Java網(wǎng)絡(luò)開發(fā)領(lǐng)域內(nèi)的悲劇,實(shí)際上也是整個(gè)網(wǎng)絡(luò)開發(fā)領(lǐng)域內(nèi)的悲劇。連這樣基礎(chǔ)的東西都漠視,視標(biāo)準(zhǔn)和規(guī)范的要求于不顧,更不要說了解使用JavaBeans的主要目的是什么了,那么我們可愛的、年輕的開發(fā)者如何才能得到正確的網(wǎng)絡(luò)開發(fā)知識呢?  或者,每一個(gè)開發(fā)者都應(yīng)自問:我如何才能為雇主開發(fā)出負(fù)責(zé)任的應(yīng)用程序來呢?  開發(fā)者一定要破除“雇主付錢請我來編寫程序”的錯誤觀念,這實(shí)際上是忽略了后面的這句:“目的是我的程序能使雇主有更大的回報(bào)”?! ∧憧梢詫⒁粋€(gè)范例代碼寫錯,就像寫一個(gè)錯別字,可能在所難免,但你絕不能犯如此的低級錯誤,這是影響你整個(gè)開發(fā)體系的大事?! ∶恳粋€(gè)人都知道,悲劇顯然不是由某個(gè)特定的錯誤引起的,而是由某個(gè)根深蒂固的錯誤思想導(dǎo)致的,如果這種思想不除去,擋在開發(fā)者和雇主之間的魔障亦不會消除。它也會逐漸抽干雇主多年努力所換來的投入……當(dāng)雇主獨(dú)處一室苦苦思索時(shí),你是不會體會到的?! ″e誤還在蔓延?  如果僅僅是這樣一個(gè)小事例,尚不足使這套書被稱為“王”,更多的基礎(chǔ)性錯誤還繼續(xù)在用戶的軟件開發(fā)知識體系中間蔓延,它們正伺機(jī)阻礙你企業(yè)的發(fā)展?! ∪绻fJavaBeans僅僅是個(gè)偶然性的錯誤的話,那么在基本驗(yàn)證和網(wǎng)絡(luò)應(yīng)用程序安全這樣最基礎(chǔ)的問題上,你同樣幾乎找不到一本像樣的教材和資料能夠完整系統(tǒng)地正確闡述它,更不要說其他的安全措施了。  這個(gè)錯誤在ASP、ASP.NET、JSP、PHP開發(fā)領(lǐng)域內(nèi)存在的時(shí)間之長,幾乎可以與這些語言被發(fā)明那天起同步。導(dǎo)致這個(gè)錯誤發(fā)生的根源與導(dǎo)致JavaBeans錯誤發(fā)生的根源驚人地相同,都是根本不顧規(guī)范的要求—只要最開始的一本書錯了,那么后面的全是Copy?! ″e誤也是積累的,在三層架構(gòu)萬維網(wǎng)應(yīng)用程序的展示層,如何正確認(rèn)識HTML、CSS、JavaScript和Flash已經(jīng)成了當(dāng)務(wù)之急,富客戶端應(yīng)用程序已經(jīng)成為當(dāng)前因特網(wǎng)應(yīng)用程序開發(fā)中極受重視的領(lǐng)域,因?yàn)樗芙o消費(fèi)者帶來最佳的客戶體驗(yàn),而這也正是雇主所需要的?! TML這個(gè)最基礎(chǔ)并且最簡單的語言可能用戶從未認(rèn)真審視過—可能只是因?yàn)樗唵瘟?,一個(gè)承擔(dān)了內(nèi)容結(jié)構(gòu)和內(nèi)容呈現(xiàn)責(zé)任的語言如何在新的體系面前被正確理解呢?CSS究竟使HTML發(fā)生了何種變化呢?大多數(shù)的教材都是教授開發(fā)者和設(shè)計(jì)者怎樣使用CSS去呈現(xiàn)網(wǎng)頁,卻忘記了這樣做的根本是什么,好像這根本就不應(yīng)被考慮。好在,現(xiàn)在該是結(jié)束的時(shí)候了……  AJAX解決方案的出現(xiàn)仿佛使JavaScript“重新”回到人們關(guān)注的視線中,但如果沒有DHTML解決方案作為鋪墊,AJAX又能做什么呢?答案很簡單:它什么也做不了?! JAX和Flash現(xiàn)在是富客戶端的主流,但是,如果你不能完整系統(tǒng)地正確認(rèn)識三層架構(gòu)的基本體系,如果不了解C/S和B/S的區(qū)別,那么設(shè)想能真正理解AJAX和Flash用于開發(fā)富客戶端應(yīng)用程序只能是空想。  雖然Flash已是一個(gè)成熟的體系,但是,目前Flash開發(fā)對很多開發(fā)人員來說還是一個(gè)較新的領(lǐng)域。兩年前,很多開發(fā)者還在喋喋不休地爭論AS2和AS1的優(yōu)、缺點(diǎn),爭論往往意味著還不能正確地認(rèn)識它們的真正實(shí)質(zhì)。所以,兩年前,在拙著中就完整系統(tǒng)地介紹了這方面的知識,幫助用戶完成了這一基本認(rèn)知?,F(xiàn)在,它已經(jīng)被完全融入到這個(gè)萬維網(wǎng)知識體系中,過去的大批量錯誤認(rèn)知已經(jīng)被更正,我們還建立了完整的基于時(shí)間軸的Flash應(yīng)用程序開發(fā)的理論體系,所以現(xiàn)在看起來,這個(gè)領(lǐng)域內(nèi)的災(zāi)難并沒有AJAX領(lǐng)域那么深重?! ∵@些錯誤的發(fā)生不但使得開發(fā)者深受其害,重要的是,它有可能使得雇主的網(wǎng)絡(luò)應(yīng)用程序因此而遭受重大挫折,并失去客戶的信任。  在這里,我提到了很多不應(yīng)該發(fā)生卻又事實(shí)上發(fā)生了的,也是現(xiàn)在正在發(fā)生的悲劇,而更為重要的是,對規(guī)范、標(biāo)準(zhǔn)、實(shí)現(xiàn)、實(shí)踐的完備性認(rèn)識還有很多、很長的路要走。如果沒有完整系統(tǒng)的知識體系,開發(fā)者還不知道要在“黑夜”里摸索多久?! ∠胍幌?,除了這里提到的錯誤,還有哪些錯誤被隱藏起來了,你還未發(fā)現(xiàn)呢?這也是為何我在書中對易出錯的部分做了突出顯示的原因?! ∫苍S不遠(yuǎn)處真的就有冰山出沒……  當(dāng)我看到有無數(shù)的教材和資料在長篇累牘、多達(dá)數(shù)十頁的論述抽象類和接口的區(qū)別時(shí),我真的感到悲哀,是在為整個(gè)使用面向?qū)ο筮M(jìn)行軟件開發(fā)的開發(fā)者們悲哀。當(dāng)我兩年前用一句話來區(qū)分抽象類和接口時(shí),可能并沒有人真正地去注意過它,雖然,在拙著中還用了文字加粗……  就像6年前,當(dāng)在拙著中第一次提出Flash Player虛擬機(jī)的概念時(shí),我想也并沒有多少人真正注意過這個(gè)問題;但是在2年前,我在拙著中第一次明確闡述了在ActionScript 2.0和ActionScript 1.0中存在的基本錯誤認(rèn)知,現(xiàn)在,兩年過去了,我想再也沒有人會去犯同樣愚蠢的錯誤了?! ∠雭響?yīng)該有不少任課教師應(yīng)該可以給他們的學(xué)員講授正確的Flash開發(fā)了?! 〉?,如果我說很多開發(fā)者連Flash基本的變量作用范圍都不能搞清楚,你是不是很詫異呢?  是啊,兩年前我也經(jīng)常聽一些人說他們會Flash開發(fā),可是我卻發(fā)現(xiàn)他們連最基本的變量的作用范圍都一知半解,如果連這個(gè)都不能系統(tǒng)掌握,能開發(fā)出一個(gè)完美的程序來嗎?又如何為雇主創(chuàng)造價(jià)值呢?  想來,我的前一本Flash作品已經(jīng)有不少人看過了,但是,同樣,大多數(shù)Flash開發(fā)人員可能并沒有得到這個(gè)知識?! ∈前。?yàn)椴]有特別聲張這件事,就是想看一看用戶究竟有沒有真正去學(xué)習(xí)Flash開發(fā),去認(rèn)真獲取那些最真實(shí)的東西?! 〉牵@終究還是造成了遺憾——當(dāng)拙著第一次為整個(gè)ActionScript語言帶來了完整系統(tǒng)的變量作用范圍的介紹時(shí),可能很少人去注意它?! ‖F(xiàn)在,新版的《Flash開發(fā)王》我想不會再有人錯過了。  有時(shí)候,夜真的很黑、很深沉,它會淹沒你,并讓你忘記你自己……  開發(fā)王系列圖書有兩個(gè)最基本的基石  當(dāng)然,即使有點(diǎn)點(diǎn)滴滴的、零星的低級錯誤,也不能說本書不能稱為“王”。開發(fā)王必須有兩個(gè)最基本的基石,除此之外別無其他,這兩個(gè)基石是:  幫助用戶建立正確的認(rèn)知  幫助用戶建立完整系統(tǒng)的知識體系  正確的認(rèn)知就是一切的根本  正確的認(rèn)知就是一切的根本,這無須進(jìn)行任何說明,而關(guān)鍵是什么是正確的認(rèn)知?! ≌J(rèn)知有兩個(gè)層面的意思,一個(gè)是認(rèn)字,一個(gè)是知道?! ∶總€(gè)人都是從認(rèn)字開始的,這毫無疑問,認(rèn)字就是了解事實(shí)是什么,知道就是怎樣做才能正確地認(rèn)識到這個(gè)事實(shí)?! ∥覀兘?jīng)常聽到一個(gè)成語“授之以魚,不如授之以漁”。是的,不單單是應(yīng)該告訴用戶一個(gè)事實(shí),還要告訴他們怎樣去正確地認(rèn)識到這個(gè)事實(shí)?! ∈聦?shí)往往是某種規(guī)定,就像你學(xué)習(xí)漢語拼音那樣,a這個(gè)英文字母就是發(fā)音為“啊”。當(dāng)然,對于應(yīng)用程序開發(fā)來說,這個(gè)規(guī)定性或由某個(gè)標(biāo)準(zhǔn)定義,或由某個(gè)規(guī)范定義,或由某個(gè)程序的業(yè)務(wù)邏輯所要求,而你的“認(rèn)字”也就是了解這種規(guī)定性究竟規(guī)定了什么。這個(gè)“認(rèn)字”很枯燥,你只有死記硬背,完全遵照,就像完全遵照J(rèn)avaBeans規(guī)范那樣?! ‖F(xiàn)在關(guān)鍵點(diǎn)是:這個(gè)死記硬背的事實(shí)用戶如何才能認(rèn)識到它呢?這真的很難辦。為此我們提出了3個(gè)最簡單、最基本的問題可以幫助你一舉解決這個(gè)難題:  這是什么?  為什么是這樣?  該怎樣做?  你在“開發(fā)王”每一本書中,甚至每一章中都可以看到或體會到這樣的3個(gè)最簡單、最基本的問題?! ⊥暾到y(tǒng)的知識體系就是順理成章的一切  正確的認(rèn)知往往是一點(diǎn)一滴匯聚起來的,如果這些點(diǎn)點(diǎn)滴滴的認(rèn)知被相互肢解開來,那么最終形成的則是一片混亂。這就需要有一個(gè)知識體系將這些點(diǎn)點(diǎn)滴滴的認(rèn)知相互關(guān)聯(lián)起來形成完整系統(tǒng)的知識體系,這也是日漸龐大的萬維網(wǎng)的必然要求?! ≌缒憧吹降哪菢?,我們將萬維網(wǎng)應(yīng)用程序的知識體系建立在三層架構(gòu)的基礎(chǔ)之上,在這個(gè)最基本的認(rèn)知和知識體系下不斷將知識延伸?! ∥也幌朐谶@里對什么是“完整系統(tǒng)的知識體系”進(jìn)行過多的介紹,因?yàn)槊總€(gè)人都理解它的字面意思,也理解它對每個(gè)開發(fā)者都是夢寐以求的,而關(guān)鍵是“完整系統(tǒng)的知識體系”的內(nèi)容是什么。除了應(yīng)該牢記這篇序言前面所介紹的萬維網(wǎng)的技術(shù)史和萬維網(wǎng)的基本知識結(jié)構(gòu),我也不想在前言中再多費(fèi)筆墨,因?yàn)橹R體系往往融入在各個(gè)知識點(diǎn)的相互結(jié)合中,不是一兩頁紙所能闡述清楚的?! ∪绻苡脦醉摷堦U述清楚那就好了,不過話又說過來,一個(gè)用幾頁紙就能闡述清楚的“完整系統(tǒng)的知識體系”能可信嗎?  “完整系統(tǒng)的知識體系”包含了某個(gè)領(lǐng)域內(nèi)的完整內(nèi)容,不可能使用幾頁紙就能闡述清楚,而且領(lǐng)域越廣,所需要的筆墨就越多。例如,針對JSP,你可能需要用一本書來介紹,但對整個(gè)萬維網(wǎng)應(yīng)用程序來說,你可能需要10本書甚至更多,我想每一個(gè)用戶都不難理解?! ≌l將從這套書中受益開發(fā)者、雇主、主講教師、學(xué)員都將從“開發(fā)王”系列圖書中受益  開發(fā)者是理所應(yīng)當(dāng)?shù)淖畲笫芤嬲摺 『翢o疑問,“開發(fā)王”這套書是最終面向開發(fā)者的,不但初學(xué)者,而且資深的開發(fā)者也應(yīng)視它為必讀之作。在正確的認(rèn)知和完整、系統(tǒng)的知識體系面前,初學(xué)者和資深的開發(fā)者處于同一起跑線上?!  俺鯇W(xué)者”能夠在開發(fā)伊始就將技術(shù)建立在正確的認(rèn)知的基礎(chǔ)上,并且循序漸進(jìn),獲得完整系統(tǒng)的知識體系,這不但可以加速學(xué)習(xí)進(jìn)程,而且也是正確開發(fā)的保證?!  百Y深的開發(fā)者”雖然在實(shí)踐過程中獲得了很多好的實(shí)戰(zhàn)經(jīng)驗(yàn),但未必能夠運(yùn)用自如,這就是過去混亂不堪的知識體系和錯誤的認(rèn)知共同作用的結(jié)果。如果不砍掉錯誤和混亂,必然使自己的開發(fā)認(rèn)識躊躇不前,最終走火入魔也未必不可能?! ‘?dāng)然,如果你有錯誤的認(rèn)知,并且編出了錯誤的應(yīng)用程序,那么就要小心了,應(yīng)該盡快通讀本書,趁雇主還未發(fā)現(xiàn)之前將漏洞補(bǔ)上?! 」椭魇亲罱K的受益人  雇主首先要關(guān)心的是如何在有效的投入情況下獲得較高的產(chǎn)出,也就是如何實(shí)現(xiàn)經(jīng)濟(jì)產(chǎn)出?! ≌_的軟件開發(fā)來源于正確的認(rèn)知和完整系統(tǒng)的知識體系,這是毫無疑問的。  正如你前面看到的,正確的認(rèn)知是編寫正確程序的關(guān)鍵,試想一個(gè)沒有實(shí)現(xiàn)序列化的JavaBeans將會帶來什么樣的危害?假設(shè)是一個(gè)銀行結(jié)算程序,資金(一個(gè)JavaBeans)匯出去了,但是卻因?yàn)橹虚g運(yùn)算出了故障而死機(jī),這個(gè)時(shí)候自動保護(hù)裝置本應(yīng)該能夠恢復(fù)JavaBeans的狀態(tài)(也就是你的資金),但卻因?yàn)樽玖拥腻e誤認(rèn)知進(jìn)而編寫出拙劣的程序,這一程序從而又導(dǎo)致這一恢復(fù)過程無法完成。對一個(gè)企業(yè)而言,這是致命的一擊—連自己的基礎(chǔ)設(shè)施都無法保證,企業(yè)信譽(yù)便蕩然無存?! ?shí)現(xiàn)經(jīng)濟(jì)產(chǎn)出的另一個(gè)要關(guān)心的事情是如何實(shí)現(xiàn)團(tuán)隊(duì)協(xié)作,這個(gè)時(shí)候正確的認(rèn)知和完整系統(tǒng)的知識體系顯得尤為重要?! ‖F(xiàn)在,拋開那些點(diǎn)點(diǎn)滴滴的零星錯誤(雖然它們也很重要),讓我們眼光看得更長更遠(yuǎn),即使是組織行為學(xué)的經(jīng)典理論也認(rèn)為僅僅是團(tuán)隊(duì)精神和團(tuán)隊(duì)意識并不足以成功實(shí)現(xiàn)團(tuán)隊(duì)協(xié)作,共同的技術(shù)知識和技術(shù)能力才是團(tuán)隊(duì)合作得以有效進(jìn)行的基礎(chǔ)。  共同的技術(shù)知識和技術(shù)能力不但能夠很容易使成員清楚要達(dá)到的目標(biāo),而且相互間也清楚自己應(yīng)承擔(dān)的責(zé)任和應(yīng)該實(shí)現(xiàn)的功能。因此,一個(gè)完整、系統(tǒng)的知識體系對于團(tuán)隊(duì)合作而言便顯得極為重要。僅僅靠熱情,員工們能夠合作得像一個(gè)團(tuán)隊(duì)嗎?恐怕員工們自己也說服不了自己,更何況位于組織核心的人力資源主管和信息技術(shù)主管呢?  人力資源主管和信息技術(shù)主管作為雇主的代表應(yīng)該將此書作為實(shí)現(xiàn)團(tuán)隊(duì)合作的技術(shù)知識和技術(shù)能力評估的“客觀指標(biāo)”?! ∪肆Y源主管和信息技術(shù)主管作為雇主的代表,同時(shí)也是這一知識體系的受益者。這一知識體系首先使你可以認(rèn)識到一個(gè)合格的開發(fā)者所應(yīng)具備的基本知識技能?! 〕酥?,這套圖書包含了大量的測試題,可以幫助你從客觀的技術(shù)層面上選擇那些適用于本企業(yè)的開發(fā)人員,以及用于員工考評和員工的再培訓(xùn)。并且這些測試題可以提高你的工作效率,從而為你和你的雇主節(jié)省成本?! W(xué)員應(yīng)該擁有這套書  雖然學(xué)員大多數(shù)選擇教材都還是為了應(yīng)付考試,但是不管是用于考試還是用于以后從業(yè)于因特網(wǎng),“開發(fā)王”系列圖書是建立在正確的認(rèn)知和完整系統(tǒng)的知識體系之上的,這符合最一般的邏輯要求,有利于記憶和總結(jié),它會加快你的學(xué)習(xí)進(jìn)程,提高效率,節(jié)省時(shí)間。  雖然教材并非由學(xué)員自己來選擇,但任課老師一般都會非常尊重學(xué)員的建議,你應(yīng)告訴他你看到的真實(shí)的東西,以及你想到的東西,如果你這樣做了,就理應(yīng)得到贊許?! ∪绻惆l(fā)現(xiàn)了教材中的一些錯誤,就應(yīng)該及時(shí)提醒任課教師,并且也應(yīng)該和同學(xué)切磋這個(gè)認(rèn)識是否正確,這個(gè)過程也是培養(yǎng)團(tuán)隊(duì)協(xié)作精神的過程。  “開發(fā)王”系列圖書不但適合作為教材,也適合作為自學(xué)用書,在3個(gè)最基本問題的指引下,學(xué)員也可以迅速有效地掌握萬維網(wǎng)應(yīng)用程序開發(fā)的知識。并且,書中大量的范例可以用于實(shí)際應(yīng)用程序開發(fā)和設(shè)計(jì)中,每章后面的習(xí)題可以用于鞏固所學(xué)的知識?! ∪握n教師應(yīng)該使用這套書作為  教材以贏得學(xué)員的信任  主講網(wǎng)絡(luò)開發(fā)的任課教師應(yīng)該成為正確認(rèn)知和完整系統(tǒng)的萬維網(wǎng)知識體系的傳播者,正確的認(rèn)知和完整系統(tǒng)的萬維網(wǎng)知識體系是相對于錯誤認(rèn)知和混亂的知識而言的,在教學(xué)上,混亂的知識往往與肢解式的授課方式緊密連在一起?! ≈馐浇虒W(xué)往往是要么盲目地對某個(gè)語法進(jìn)行割裂式的使用方法講解,要么沉迷于對某個(gè)具體范例的長篇累牘的分析之中。這種教學(xué)雖然容易讓學(xué)員沉醉于暫時(shí)的范例成果而“沾沾自喜”,但也往往讓他們迷失在這種“沾沾自喜”當(dāng)中,從而忘記軟件開發(fā)的基本事實(shí)?! ∵@樣做的教學(xué)目標(biāo)看似明確,其實(shí)貽害無窮。  “庖丁解牛,不見全?!笔橇鱾鲙浊甑睦瞎适?,講述了庖丁最初解牛時(shí)“所見無非全牛者”,而其“所好者道也,進(jìn)乎技矣”,這個(gè)“道”就是指要完整系統(tǒng)地把握一件事物,然后再勤加練習(xí),到“三年之后,未嘗見全牛也”?! ∪握n教師應(yīng)該將學(xué)員從這種“沾沾自喜”的懸崖邊緣拉回來,授以庖丁之“道”,勉勵其自學(xué)以成庖丁之“技”,并最終集萬維網(wǎng)應(yīng)用程序開發(fā)之大成?! ∪握n教師要做到這一點(diǎn),一個(gè)重要的方式就是將過去肢解式的授課永遠(yuǎn)忘掉,那些肢解式的教材也理應(yīng)被扔到垃圾堆中?!  伴_發(fā)王”這套書能夠幫助你完成你的教學(xué)目標(biāo),這套書的一個(gè)編寫特點(diǎn)就是其完整系統(tǒng)的知識體系,它能夠幫助學(xué)員掌握“道”之本質(zhì)?! 榱耸菇虒W(xué)能夠更順利地展開,并便于學(xué)生課后自學(xué),我們在每章的前面對本章內(nèi)容做了總結(jié),而且,每章的后面提供了習(xí)題和小結(jié)?! ∫詧?jiān)實(shí)恒定的基石應(yīng)對變化  對開發(fā)者、雇主、主講教師、學(xué)員來說,市場的不斷發(fā)展變化是不可避免的,市場的變化進(jìn)而催生技術(shù)的不斷發(fā)展變化,這些變化對每一個(gè)卷入IT產(chǎn)業(yè)的組織和人員都提出了挑戰(zhàn)?! ∑髽I(yè)如何才能迅速響應(yīng)市場變化帶來的挑戰(zhàn)呢?開發(fā)者如何才能迅速應(yīng)對企業(yè)的新需求呢?在面對新技術(shù)時(shí),如何將教學(xué)工作與新技術(shù)迅速銜接起來呢?  為了保持競爭優(yōu)勢并更迅速地響應(yīng)市場變化,人員的技術(shù)知識和企業(yè)的業(yè)務(wù)必須保持流程的一致性,以實(shí)現(xiàn)更大的柔性和擴(kuò)展性,而這一切必須建立在一個(gè)“堅(jiān)實(shí)恒定”的基石之上才能說有可靠的技術(shù)保證。  在“開發(fā)王”這套技術(shù)叢書中,每一個(gè)參與者都將看到這塊“堅(jiān)實(shí)恒定”的基石,這個(gè)基石被稱為“完整系統(tǒng)的萬維網(wǎng)知識體系”,在這個(gè)基石之上實(shí)現(xiàn)的柔性和擴(kuò)展性必然是可持久、可度量的,且可以應(yīng)對迅速的變化?! ⊥暾到y(tǒng)的萬維網(wǎng)知識體系針對變化提供了更多機(jī)會,無論變化多么復(fù)雜、多么迅速,“開發(fā)王”都能夠幫助簡化它們,從而輕松獲取競爭優(yōu)勢。  從此,變化不再令人苦惱,相反它為你帶來一系列機(jī)遇:靈活性、業(yè)務(wù)一致性,當(dāng)然,還有競爭優(yōu)勢,不管是對個(gè)人,還是對組織……  作者的話  從開始準(zhǔn)備寫作到本套書的出版,前后經(jīng)歷了近6年的時(shí)間,也經(jīng)歷了多個(gè)軟件版本變遷,以及萬維網(wǎng)的沉沉浮浮,在這緊張的幾十個(gè)月后,本套書終于得以問世。我希望能通過本書給萬維網(wǎng)應(yīng)用程序開發(fā)者和設(shè)計(jì)者帶來無限廣闊的、基本的、正確認(rèn)知和完整系統(tǒng)的網(wǎng)絡(luò)開發(fā)知識?! ”緯趯懽鬟^程中參考了“大量”的參考資料,包括數(shù)十份標(biāo)準(zhǔn)和規(guī)范,也包括作者多年創(chuàng)作和開發(fā)體驗(yàn)的結(jié)晶,所有范例也都經(jīng)過了嚴(yán)格的測試,從而確保了內(nèi)容準(zhǔn)確翔實(shí)?! ∥恼轮刑岢龅娜魏斡^點(diǎn)和主張都必須經(jīng)得起事實(shí)的考驗(yàn)。  雖然如此,錯誤和不足也在所難免,懇請讀者不吝賜教和指正,我們一定會全力改進(jìn),在以后的工作中加強(qiáng)和提高。  本書在創(chuàng)作和出版的過程中得到了電子工業(yè)出版社易飛思公司的大力支持,感謝他們在圖書的設(shè)計(jì)及內(nèi)容審定方面所給予的指導(dǎo),同時(shí)也感謝為本書的出版而努力工作的出版社其他工作人員?! ≡鯓娱喿x這套書  這套書的知識結(jié)構(gòu)(包括范例),前后銜接的邏輯非常緊密,所以,這里特別提示用戶不要試圖跳躍章節(jié)閱讀,這將恐怕使你欲速而不達(dá)?! ”3峙c作者溝通  有時(shí)與作者溝通是十分必要的,用戶可以從作者處獲取知識的更新,或者勘誤(如果書中有的話),同時(shí)也可以讓作者了解到你的想法。

內(nèi)容概要

本書完全按照HTML 4.01規(guī)范要求編寫,詳細(xì)介紹如何使用HTML語言創(chuàng)作網(wǎng)頁,并且介紹如何將網(wǎng)頁聚合起來架設(shè)網(wǎng)站。HTML語言有嚴(yán)格的邏輯,是完整系統(tǒng)的互聯(lián)網(wǎng)知識體系的一部分。本書亦包含XHTML 1.0規(guī)范的全部內(nèi)容?! ”緯宰钚碌募记桑套x者輕松掌握HTML語言;并按照下面的邏輯認(rèn)知順序進(jìn)行講授:什么是HTML語言(what),為什么學(xué)HTML語言(why),以及怎樣使用HTML語言(how)。這樣是為了先幫助用戶建立首要的、基礎(chǔ)的正確認(rèn)知,而后以深入淺出的實(shí)例來說明如何利用HTML語言制作網(wǎng)頁(即通過一個(gè)完整的網(wǎng)上餐廳案例,循序漸進(jìn)地指導(dǎo)讀者怎樣將HTML網(wǎng)頁集合起來架設(shè)網(wǎng)站,并通過這一范例了解上載、更新和管理網(wǎng)站的技能)?! ”緯m合網(wǎng)絡(luò)開發(fā)工程師、網(wǎng)頁設(shè)計(jì)師,以及學(xué)校的相關(guān)任課教師和學(xué)員。網(wǎng)頁設(shè)計(jì)師,可以從本書學(xué)習(xí)到更為高級的網(wǎng)頁設(shè)計(jì)應(yīng)用技巧,進(jìn)而加強(qiáng)功力;程序開發(fā)者,也可以從本書學(xué)習(xí)到最為正統(tǒng)的HTML知識,從而避免錯誤認(rèn)知和混亂。

作者簡介

張亞飛是現(xiàn)今活躍在信息技術(shù)領(lǐng)域的卓越作者。正如讀者過去所看到的那樣,他建立了一整套基于時(shí)間軸的完整系統(tǒng)的Flash知識體系,這個(gè)知識體系已經(jīng)使很多Flash開發(fā)者和設(shè)計(jì)者受益。今天,他從紛繁復(fù)雜的亂象中抽象出真知,構(gòu)建了一整套完整系統(tǒng)的萬維網(wǎng)應(yīng)用程序開發(fā)的知識體系

書籍目錄

第1篇  HTML基礎(chǔ)入門篇 第1章  建立首要的、基礎(chǔ)的正確認(rèn)知      1.1  Internet和萬維網(wǎng)       1.1.1  什么是WWW(萬維網(wǎng))       1.1.2  W3C是什么      1.2  網(wǎng)頁、瀏覽器、網(wǎng)站和網(wǎng)絡(luò)服務(wù)器       1.2.1  網(wǎng)頁和瀏覽器       1.2.2  不可不知的瀏覽器發(fā)展史       1.2.3  瀏覽網(wǎng)頁       1.2.4  網(wǎng)站和網(wǎng)絡(luò)服務(wù)器      1.3  了解HTML語言       1.3.1  關(guān)于HTML和HTML編輯器       1.3.2  創(chuàng)建第一個(gè)網(wǎng)頁       1.3.3  查看網(wǎng)頁的源文件      1.4  HTML 4.0的特點(diǎn)       1.4.1  國際化       1.4.2  可訪問性       1.4.3  表格       1.4.4  混合文檔       1.4.5  樣式表       1.4.6  腳本       1.4.7  打印      1.5  鞏固與自測     第2章  HTML文檔的基本結(jié)構(gòu)      2.1  使用Dreamweaver創(chuàng)建第一個(gè)網(wǎng)頁       2.1.1  Dreamweaver安裝和配置向?qū)?      2.1.2  使用Dreamweaver創(chuàng)建網(wǎng)頁的基本步驟       2.1.3  使用Dreamweaver的基本知識      2.2  HTML文檔的基本結(jié)構(gòu)       2.2.1  了解SGML和HTML的關(guān)系       2.2.2  HTML簡要的歷史和為何要使用HTML       2.2.3  HTML 4.01的版本和文檔類型聲明       2.2.4  標(biāo)簽對和屬性       2.2.5  標(biāo)簽對       2.2.6  標(biāo)簽對      2.3  鞏固與自測     第3章  HTML文檔的編寫規(guī)范      3.1  使用標(biāo)簽、元素和屬性       3.1.1  標(biāo)簽       3.1.2  元素       3.1.3  屬性的定義       3.1.4  屬性值的定義       3.1.5  元素和屬性的大小寫規(guī)范       3.2  字符引用       3.2.1  字符數(shù)字引用       3.2.2  字符實(shí)體引用      3.3  使用注釋      3.4  關(guān)于空白和空白字符       3.4.1  關(guān)于斷行符       3.4.2  空白字符      3.5  基本HTML數(shù)據(jù)型式       3.5.1  CDATA數(shù)據(jù)類型       3.5.2  ID和NAME使用的數(shù)據(jù)類型       3.5.3  IDREF和IDREFS使用的數(shù)據(jù)類型       3.5.4  NUMBER數(shù)據(jù)類型       3.5.5  文本字符串       3.5.6  使用URI       3.5.7  使用顏色       3.5.8  使用長度       3.5.9  內(nèi)容類型(MIME類型)       3.5.10  語言代碼       3.5.11  字符編碼       3.5.12  單字符       3.5.13  日期和時(shí)間       3.5.14  鏈接類型       3.5.15  介質(zhì)描述符       3.5.16  腳本數(shù)據(jù)       3.5.17  樣式表數(shù)據(jù)       3.5.18  框架目標(biāo)名       3.6  鞏固與自測    第2篇  HTML詳細(xì)學(xué)習(xí)篇 第4章  HTML文檔的頭部定義      4.1  定義標(biāo)題(title元素)      4.2  怎樣定義元數(shù)據(jù)       4.2.1  定義元數(shù)據(jù)關(guān)鍵字       4.2.2  元數(shù)據(jù)的語言信息       4.2.3  元數(shù)據(jù)的其他定義方法      4.3  用于搜索引擎的元數(shù)據(jù)       4.3.1  定義編輯工具       4.3.2  定義版權(quán)信息       4.3.3  定義關(guān)鍵字       4.3.4  定義概要描述       4.3.5  定義設(shè)計(jì)者       4.3.6  定義創(chuàng)作日期       4.3.7  定義搜索引擎搜索方式      4.4  用于HTTP消息報(bào)頭的元數(shù)據(jù)(屬性http-equiv)       4.4.1  設(shè)置網(wǎng)頁內(nèi)容類型和字符集       4.4.2  設(shè)置網(wǎng)頁所使用的語言       4.4.3  設(shè)置網(wǎng)頁定時(shí)跳轉(zhuǎn)       4.4.4  設(shè)置網(wǎng)頁禁用緩存       4.4.5  設(shè)置網(wǎng)頁到期       4.4.6  設(shè)置網(wǎng)頁Cookie存活時(shí)間       4.4.7  設(shè)置網(wǎng)頁框架目標(biāo)       4.4.8  設(shè)置網(wǎng)頁轉(zhuǎn)場效果       4.4.9  設(shè)置網(wǎng)頁分級      4.5  元數(shù)據(jù)綱要和元數(shù)據(jù)架構(gòu)       4.5.1  使用元數(shù)據(jù)綱要(profile屬性)       4.5.2  使用元數(shù)據(jù)架構(gòu)(scheme屬性)      4.6  鞏固與自測     第5章  文字與段落      5.1  結(jié)構(gòu)化的文本       5.1.1  用于強(qiáng)調(diào)的短語元素(em元素、strong元素、cite元素)       5.1.2  用于縮寫的短語元素(abbr元素、acronym元素)       5.1.3  其他的短語元素(dfn、code、samp、kbd、var)       5.1.4  引用(blockquote元素、q元素)       5.1.5  下標(biāo)和上標(biāo)(sub元素、sup元素)      5.2  行和段落       5.2.1  段落(p元素)       5.2.2  控制換行(br元素)       5.2.3  連字符       5.2.4  預(yù)格式化文本(pre元素)       5.2.5  段落的視覺呈現(xiàn)      5.3  標(biāo)題字體(h#元素)      5.4  標(biāo)記文檔改變:ins和del元素      5.5  基本文字格式(tt、i、b、big、small、strike、s、u)      5.6  字體修改(font、basefont元素)       5.6.1  改變字體大小(size屬性)       5.6.2  改變文本顏色(color屬性)       5.6.3  改變字體(face屬性)      5.7  加入水平分割線(hr元素)       5.7.1  分隔線寬度和高度(width屬性、size屬性)       5.7.2  分隔線對齊(align屬性)       5.7.3  分隔線顏色(color屬性)       5.7.4  分隔線陰影(noshade屬性)      5.8  鞏固與自測     第6章  建立列表      6.1  創(chuàng)建列表       6.1.1  有序列表(ol元素)       6.1.2  無序列表(ul元素)       6.1.3  解說列表(dl元素)       6.1.4  嵌套列表       6.1.5  列表的緊湊顯示(compact 屬性)      6.2  定制列表前的符號       6.2.1  定制無序列表符號(type屬性)       6.2.2  定制有序列表中的序號(type屬性)       6.2.3  定制有序列表中的列表項(xiàng)的起始數(shù)(start屬性)       6.2.4  定制有序列表中的列表項(xiàng)序號的數(shù)值(value屬性)      6.3  使用dir和menu元素來定義列表      6.4  鞏固與自測     第7章  建立超鏈接      7.1  鏈接的基礎(chǔ)知識      7.2  了解文檔位置和路徑       7.2.1  絕對路徑       7.2.2  文檔相對路徑       7.2.3  區(qū)分URI、URL和URN       7.2.4  區(qū)分本地鏈接和服務(wù)器鏈接      7.3  使用a元素定義鏈接       7.3.1  定義鏈接的目標(biāo)URI(href屬性)       7.3.2  定義鏈接的目標(biāo)窗口(target屬性)       7.3.3  定義鏈接的提示信息(title屬性)       7.3.4  國際化和鏈接(hreflang屬性和charset屬性)       7.3.5  鏈接到其他網(wǎng)站       7.3.6  鏈接到您的網(wǎng)站中的其他網(wǎng)頁       7.3.7  鏈接到電子郵件地址       7.3.8  鏈接到任何類型的文件以供下載       7.3.9  創(chuàng)建空鏈接和腳本鏈接       7.3.10  鏈接的創(chuàng)建與管理        7.4  定義書簽和鏈接到書簽       7.4.1  定義命名錨點(diǎn)(id屬性和name屬性)       7.4.2  鏈接到命名錨點(diǎn)      7.5  文檔關(guān)系鏈接(link元素)       7.5.1  定義關(guān)系鏈接地址(href屬性)       7.5.2  向前鏈接或者反轉(zhuǎn)鏈接(rel和rev屬性)       7.5.3  鏈接到外部樣式表       7.5.4  使用link元素說明文檔集合關(guān)系       7.5.5  鏈接到文檔的替代版本       7.5.6  鏈接到文檔的版權(quán)聲明       7.5.7  鏈接到文檔的幫助       7.5.8  鏈接到文檔中的書簽      7.6  link元素和搜索引擎      7.7  定義基準(zhǔn)地址(base元素)       7.7.1  使用基準(zhǔn)URI       7.7.2  用戶瀏覽器如何決定相對URI       7.7.3  定義基準(zhǔn)鏈接目標(biāo)窗口(target屬性)      7.8  鞏固與自測     第8章  鏈入圖片和混排圖文      8.1  了解圖片       8.1.1  了解GIF格式圖片       8.1.2  了解JPEG格式圖片       8.1.3  了解PNG格式圖片       8.1.4  創(chuàng)建圖片       8.2  鏈入圖片(img元素)        8.2.1  圖片的源地址(src屬性)       8.2.2  圖片的幅面大?。╳idth屬性和height屬性)       8.2.3  圖片的說明(alt屬性、longdesc屬性)       8.2.4  圖片的邊框(border屬性)       8.2.5  圖片的占位符       8.2.6  圖片和文字的對齊(align屬性)       8.2.7  圖片的水平間距和垂直間距(hspace屬性和vspace屬性)      8.3  為圖片建立超鏈接(img元素)      8.4  創(chuàng)建圖像映射       8.4.1  了解熱點(diǎn)和圖像映射       8.4.2  關(guān)于客戶端圖像映射和服務(wù)端圖像映射       8.4.3  創(chuàng)建圖像映射(map元素、area元素)       8.4.4  設(shè)置熱點(diǎn)默認(rèn)鏈接       8.4.5  創(chuàng)建服務(wù)端圖像映射       8.4.6  客戶端圖像映射和服務(wù)端圖像映射混合      8.5  飄浮對象和圖文混排       8.5.1  飄浮對象的定義       8.5.2  飄浮對象周圍的文本的流動      8.6  鞏固與自測     第9章  使用表格      9.1  了解表格       9.1.1  表格用來做什么       9.1.2  了解行、列和單元格      9.2  創(chuàng)建表格       9.2.1  創(chuàng)建表格的基本語法(table元素、tr元素、th元素、td元素)       9.2.2  設(shè)置表格邊框線條寬度(border屬性)       9.2.3  設(shè)置表格寬度(width屬性)       9.2.4  表格在頁面中的對齊(align屬性)       9.2.5  表格的描述(summary屬性)       9.2.6  表格的背景色(bgcolor屬性)       9.2.7  表格中單元格的間距和襯距(cellspacing屬性、cellpadding屬性)      9.3  表格的標(biāo)題(caption元素)      9.4  設(shè)置單元格(th元素、td元素)       9.4.1  使用th元素定義單元格       9.4.2  跨多行、多列的單元格       9.4.3  單元格的背景色彩       9.4.4  單元格的寬度和高度      9.5  表格的按行分組顯示(thead元素、tfoot元素、tbody元素)      9.6  表格的按列分組顯示(colgroup元素、col元素)       9.6.1  創(chuàng)建列分組(colgroup元素)       9.6.2  使用span屬性指定列分組       9.6.3  為列分組定義列寬(width屬性)      9.7  表格邊框和分隔線的呈現(xiàn)(frame屬性、rules屬性)       9.7.1  表格中邊框線的顯示(frame屬性)       9.7.2  表格中分隔線的顯示(rules屬性)      9.8  單元格內(nèi)內(nèi)容的對齊       9.8.1  單元格對齊屬性       9.8.2  對齊的繼承       9.8.3  軸線(axis屬性)      9.9  鞏固與自測     第10章  建立HTML表單      10.1  認(rèn)識和建立HTML表單       10.1.1  建立表單(form元素)       10.1.2  了解控件       10.1.3  控件類型      10.2  使用input元素創(chuàng)建表單控件       10.2.1  創(chuàng)建文本框和密碼文本框       10.2.2  創(chuàng)建復(fù)選框       10.2.3  創(chuàng)建單選按鈕       10.2.4  創(chuàng)建提交按鈕       10.2.5  創(chuàng)建重置按鈕       10.2.6  創(chuàng)建圖形按鈕       10.2.7  創(chuàng)建普通按鈕       10.2.8  創(chuàng)建文件選擇框       10.2.9  創(chuàng)建隱藏控件      10.3  使用button元素創(chuàng)建按鈕      10.4  組合框控件和列表框控件       10.4.1  創(chuàng)建組合框控件和列表框控件       10.4.2  成組選項(xiàng)       10.4.3  關(guān)于預(yù)先選定選項(xiàng)      10.5  創(chuàng)建多行文本框(textarea元素)      10.6  使用isindex元素創(chuàng)建文本框      10.7  為表單控件定義標(biāo)簽(label元素)      10.8  為表單添加結(jié)構(gòu)(fieldset元素和legend元素)      10.9  將焦點(diǎn)移到某個(gè)元素上       10.9.1  使用【Tab】鍵導(dǎo)航       10.9.2  使用熱鍵導(dǎo)航       10.10  設(shè)置禁用控件和設(shè)置只讀控件       10.10.1  設(shè)置禁止控件       10.10.2  設(shè)置只讀控件      10.11  表單提交       10.11.1  表單提交的方法       10.11.2  結(jié)果良好的控件       10.11.3  瀏覽器怎樣發(fā)送表單數(shù)據(jù)       10.11.4  表單內(nèi)容的類型      10.12  鞏固與自測     第11章  使用框架集結(jié)構(gòu)      11.1  框架集的基本語法       11.1.1  框架文檔聲明       11.1.2  縱向排列框架和橫向排列框架(rows屬性、cols屬性)       11.1.3  嵌套框架集       11.1.4  不顯示框架時(shí)(noframes元素)      11.2  框架窗口的內(nèi)容和外觀(frame元素)       11.2.1  設(shè)置框架的初始內(nèi)容       11.2.2  框架窗口邊框線的設(shè)置       11.2.3  頁面空白       11.2.4  滾動條設(shè)置       11.2.5  改變框架窗口大小       11.2.6  框架的描述(title屬性、longdesc屬性)      11.3  使用目標(biāo)框架(name屬性和target屬性)       11.3.1  設(shè)置鏈接默認(rèn)的目標(biāo)       11.3.2  目標(biāo)的優(yōu)先級       11.3.3  名稱和框架標(biāo)識      11.4  內(nèi)聯(lián)框架(iframe元素)      11.5  鞏固與自測     第12章  鏈入對象和其他多媒體元素      12.1  使用Java Applet(applet元素)       12.1.1  安裝Java運(yùn)行時(shí)環(huán)境       12.1.2  準(zhǔn)備Java Applet應(yīng)用程序       12.1.3  鏈入Java Applet應(yīng)用程序      12.2  使用object元素鏈入對象       12.2.1  為何要使用object元素       12.2.2  了解對象、數(shù)據(jù)和實(shí)現(xiàn)       12.2.3  使用通用的鏈入方法(object元素)       12.2.4  將object元素置于head元素內(nèi)       12.2.5  渲染對象的規(guī)則       12.2.6  內(nèi)聯(lián)數(shù)據(jù)vs外部數(shù)據(jù)       12.2.7  對象初始化(param元素)       12.2.8  對象的全局命名機(jī)制       12.2.9  對象的聲明和實(shí)例化      12.3  使用object元素鏈入對象實(shí)踐       12.3.1  鏈入Java Applet       12.3.2  鏈入Flash影片(SWF)       12.3.3  鏈入QuickTime影片(MOV)       12.3.4  鏈入AVI、MPEG影片       12.3.5  鏈入Real影片(RM和RMVB)       12.3.6  鏈入MP3、WMA音頻       12.3.7  鏈入Shockwave影片(DIR)       12.3.8  關(guān)于嵌入的HTML文檔      12.4  鏈入對象的呈現(xiàn)       12.4.1  對象的寬度和高度       12.4.2  對象的水平間距和垂直間距(hspace屬性和vspace屬性)       12.4.3  對象的邊框       12.4.4  對象的對齊       12.4.5  定義替換文本      12.5  使用object元素創(chuàng)建圖像映射       12.5.1  使用a元素定義熱點(diǎn)       12.5.2  為內(nèi)嵌元素定義熱點(diǎn)      12.6  鞏固與自測     第13章  使用腳本語言      13.1  了解腳本語言       13.1.1  客戶端腳本       13.1.2  服務(wù)端腳本      13.2  在HTML文檔中使用腳本代碼       13.2.1  使用script元素定義腳本代碼       13.2.2  在內(nèi)建事件中定義腳本       13.2.3  在超鏈接中定義腳本       13.2.4  定義腳本語言       13.2.5  動態(tài)修改文檔       13.2.6  認(rèn)識DHTML      13.3  瀏覽器不支持腳本是應(yīng)注意的問題       13.3.1  noscript元素       13.3.2  隱藏腳本數(shù)據(jù)      13.4  鞏固與自測    第3篇  網(wǎng)頁呈現(xiàn)進(jìn)階和網(wǎng)頁布局篇 第14章  HTML網(wǎng)頁呈現(xiàn)和網(wǎng)頁國際化      14.1  鍵入文字和使用字符編碼(charset屬性)       14.1.1  計(jì)算機(jī)文字字符編碼簡介       14.1.2  使用HTML文檔字符集和選擇字符編碼       14.1.3  指定字符編碼       14.1.4  字符編碼的優(yōu)先級       14.1.5  在HTML文檔中使用字符引用      14.2  指定文檔內(nèi)容的語言(lang屬性)       14.2.1  語言代碼       14.2.2  語言代碼的繼承       14.2.3  瀏覽器對語言代碼的解釋      14.3  定義文本和表格的方向       14.3.1  Unicode規(guī)范定義的文本字符方向       14.3.2  Unicode雙向運(yùn)算法則       14.3.3  文本方向的繼承       14.3.4  使用bdo元素忽略雙向運(yùn)算法則       14.3.5  表格的方向      14.4  body元素用于全局呈現(xiàn)      14.5  網(wǎng)頁國際化和區(qū)域化的相關(guān)名詞      14.6  鞏固與自測     第15章  應(yīng)用樣式表呈現(xiàn)和布局      15.1  為什么要使用樣式表       15.1.1  過去的不足和樣式表的優(yōu)點(diǎn)       15.1.2  了解CSS(層疊樣式表)       15.1.3  HTML 4對樣式表技術(shù)的支持      15.2  添加CSS樣式到HTML網(wǎng)頁       15.2.1  設(shè)置默認(rèn)的樣式表語言       15.2.2  內(nèi)聯(lián)樣式       15.2.3  定義嵌入的樣式表(style元素)      15.3  使用外部樣式表       15.3.1 “可替換樣式表”和“偏好樣式表”       15.3.2  指定外部樣式表       15.3.3  樣式表的聲明語句       15.3.4  使用HTTP消息報(bào)頭鏈接到樣式表      15.4  層疊樣式表       15.4.1  基于介質(zhì)的層疊       15.4.2  繼承和層疊      15.5  隱藏樣式數(shù)據(jù)      15.6  了解塊級元素和行內(nèi)級元素       15.6.1  塊級元素和行內(nèi)級元素的不同       15.6.2  關(guān)于div元素和span元素       15.6.3  元素標(biāo)識(id屬性和class屬性)      15.7  鞏固與自測     第16章  應(yīng)用表格和框架布局      16.1  使用表格進(jìn)行網(wǎng)頁設(shè)計(jì)和布局的方法       16.1.1  了解布局模塊       16.1.2  表格布局的方法       16.2  在Dreamweaver中使用表格       16.2.1  在“布局”模式下使用表格進(jìn)行網(wǎng)頁布局       16.2.2  在“布局”模式下修改網(wǎng)頁布局       16.2.3  設(shè)置“布局”模式的首選參數(shù)       16.2.4  將內(nèi)容添加到布局單元格中      16.3  使用嵌套表格進(jìn)行網(wǎng)頁布局實(shí)務(wù)       16.3.1  通過嵌套表格實(shí)現(xiàn)布局       16.3.2  怎樣在文本周圍保留空白區(qū)域       16.3.3  怎樣設(shè)置復(fù)雜的邊緣飾紋       16.3.4  布局的最后潤色      16.4  使用框架進(jìn)行網(wǎng)頁布局實(shí)務(wù)       16.4.1  框架和表格的關(guān)系       16.4.2  在Dreamweaver中使用框架      16.5  鞏固與自測    第4篇  創(chuàng)建和發(fā)布網(wǎng)站篇 第17章  網(wǎng)頁、網(wǎng)站和網(wǎng)絡(luò)應(yīng)用程序      17.1  安裝和設(shè)置網(wǎng)絡(luò)應(yīng)用程序的運(yùn)行環(huán)境       17.1.1  安裝IIS       17.1.2  安裝PWS       17.1.3  通過服務(wù)器請求網(wǎng)頁      17.2  Web服務(wù)器根目錄和虛擬目錄       17.2.1  Web服務(wù)器根目錄       17.2.2  虛擬目錄       17.2.3  啟用默認(rèn)文件      17.3  鞏固與自測     第18章  HTML完整應(yīng)用——創(chuàng)建網(wǎng)上餐廳網(wǎng)站      18.1  怎樣開發(fā)網(wǎng)站      18.2  規(guī)劃設(shè)計(jì)網(wǎng)站       18.2.1  規(guī)劃網(wǎng)站的結(jié)構(gòu)       18.2.2  創(chuàng)建網(wǎng)站      18.3  風(fēng)格設(shè)計(jì)和頁面布局       18.3.1  注意事項(xiàng)       18.3.2  設(shè)計(jì)網(wǎng)頁布局       18.3.3  使用框架和表格實(shí)現(xiàn)布局       18.3.4  實(shí)現(xiàn)主頁默認(rèn)中間模塊      18.4  瀏覽產(chǎn)品       18.4.1  創(chuàng)建產(chǎn)品列表網(wǎng)頁       18.4.2  創(chuàng)建產(chǎn)品詳細(xì)信息      18.5  實(shí)現(xiàn)頂部廣告模塊     第19章  發(fā)布和管理網(wǎng)站      19.1  設(shè)置Dreamweaver站點(diǎn)       19.1.1  了解Dreamweaver站點(diǎn)       19.1.2  創(chuàng)建新的Dreamweaver站點(diǎn)       19.1.3  編輯Dreamweaver站點(diǎn)設(shè)置      19.2  整理站點(diǎn)       19.2.1  檢查無效鏈接       19.2.2  驗(yàn)證語法是否有誤      19.3  上傳和更新的管理       19.3.1  使用FTP服務(wù)器建立上傳網(wǎng)站空間       19.3.2  虛擬主機(jī)       19.3.3  管理和上傳網(wǎng)站       19.3.4  管理局域網(wǎng)站點(diǎn)    附錄A  從HTML 4到XHTML     A.1  XML的知識準(zhǔn)備        A.1.1  書寫XML文檔      A.1.2  有效的XML文檔      A.1.3  使用命名空間     A.2  XHTML語法入門      A.2.1  XHTML文檔結(jié)構(gòu)      A.2.2  XHTML文檔標(biāo)簽語法     A.3  XHTML和HTML 4的不同點(diǎn)      A.3.1  文檔必須格式良好      A.3.2  元素和屬性必須使用小寫字母      A.3.3  屬性定義必須嚴(yán)格符合要求      A.3.4  Script和Style元素      A.3.5  SGML禁止      A.3.6  使用lang和xml:lang屬性      A.3.7  使用字符編碼      A.3.8  包含id和name屬性的元素      A.3.9  使用isindex      A.3.10  使用邏輯屬性      A.3.11  文檔對象模型和XHTML      A.3.12  層疊樣式表和XHTML      A.3.13  不要在注釋內(nèi)容中使“—”      A.3.14  使用十六進(jìn)制數(shù)字引用      A.3.15  預(yù)定義屬性值必須區(qū)分大小寫     A.4  轉(zhuǎn)換HTML 4為XHTML    附錄B  HTML的字符實(shí)體引用和數(shù)字引用對照表    附錄C  用HTML 4.0制作文檔應(yīng)遵循的一般性原則    附錄D  使用微軟個(gè)人服務(wù)器PWS     D.1  安裝PWS     D.2  配置PWS      D.2.1  主屏      D.2.2  高級      D.2.3  其他    附錄E  關(guān)于網(wǎng)頁安全色    附錄F  HTML自然語言及語言代碼對照表    附錄G  常用字符集速查表    附錄H  HTML標(biāo)簽對的使用及元素可用屬性速查手冊    附錄I  HTML屬性及可附著元素速查手冊    附錄J  參考答案     第1章     第2章     第3章     第4章     第5章     第6章     第7章     第8章     第9章     第10章     第11章     第12章     第13章     第14章     第15章     第16章     第17章    附錄K  參考文獻(xiàn)及資料來源

章節(jié)摘錄

  第1章 建立首要的、基礎(chǔ)的正確認(rèn)知  用戶要學(xué)習(xí)HTML,必須首先了解萬維網(wǎng)、網(wǎng)頁和HTML的關(guān)系。萬維網(wǎng)是由無數(shù)的網(wǎng)頁組成的,這些網(wǎng)頁由HTML語言編寫,這是萬維網(wǎng)、網(wǎng)頁和HTML三者之間的基本關(guān)系。所有的網(wǎng)頁——無論是動態(tài)網(wǎng)頁還是靜態(tài)網(wǎng)頁,都是最終形成HTML語言并為瀏覽器所解釋的,所以,用戶要學(xué)習(xí)網(wǎng)絡(luò)設(shè)計(jì)和開發(fā),首先必須熟悉HTML語言?! TML語言,全稱是HyperText MarKup LangLLage(超文本標(biāo)簽語言),其實(shí)是一個(gè)規(guī)范(或者稱為標(biāo)準(zhǔn)),它由W3C制定,而為參與萬維網(wǎng)的創(chuàng)作者和軟件廠商所遵守?! ?chuàng)作者一般是指網(wǎng)頁(包括圖形等多媒體文件)的創(chuàng)建者,如正在學(xué)習(xí)本書的你,將會使用HTML語言創(chuàng)作網(wǎng)頁;而軟件廠商一般是指開發(fā)網(wǎng)頁瀏覽工具的廠商,如開發(fā)Internet Explorer瀏覽器軟件的微軟公司,它們將會開發(fā)瀏覽器等終端設(shè)備解釋網(wǎng)頁。

編輯推薦

  “在正確與錯誤之間做抉擇并不艱難,打開前言,將抉擇權(quán)把握在自己手中?!薄 〗⒄_的認(rèn)知、完整系統(tǒng)的知識體系。在文章中提出的任何觀點(diǎn)和主張都必須經(jīng)得起事實(shí)的考驗(yàn)?! 【烤故裁词钦_的HTML網(wǎng)頁,讓本書來給你答案;完全范例講解,通俗易懂,循序漸進(jìn),學(xué)習(xí)效率和效果最佳;范例完全通過W3C推薦驗(yàn)證程序驗(yàn)證,真正使你的網(wǎng)頁完全符合行業(yè)標(biāo)準(zhǔn);完全涵蓋HTML4.01和XHTML1.0,真正全面準(zhǔn)確地學(xué)習(xí)網(wǎng)頁語言;透析HTML網(wǎng)頁內(nèi)核,內(nèi)容和樣式的真實(shí)內(nèi)涵,為網(wǎng)絡(luò)開發(fā)奠定正確的基石;完全實(shí)戰(zhàn)網(wǎng)站架設(shè)和維護(hù),最符合團(tuán)隊(duì)協(xié)作要求,提高工作效率,讓你可以完全滿足雇主的需求?!  伴_發(fā)王”系列圖書是張亞飛從業(yè)互聯(lián)網(wǎng)以來出版的首套完整系統(tǒng)的網(wǎng)絡(luò)開發(fā)圖書,它也是國內(nèi)第一套完整系統(tǒng)的萬維網(wǎng)網(wǎng)絡(luò)開發(fā)圖書。張解釋說:這套書一直是他計(jì)劃中的一部分,經(jīng)過近6年的準(zhǔn)備、編寫和測試才完成這套心血力作,在還沒有完全滿意之前他不會輕易發(fā)表作品,就像他以前做的那樣!他希望在10年后再看這套書時(shí),人們還會說這是一套”很棒的開發(fā)圖書”。而現(xiàn)在正是發(fā)表這套圖書的好時(shí)機(jī),因?yàn)橐磺卸家褱?zhǔn)備就緒!  ——田蕾

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    HTML開發(fā)王 PDF格式下載


用戶評論 (總計(jì)5條)

 
 

  •   之前在網(wǎng)上學(xué)了html,這本書買了沒怎么看,買來的目的就是放在那里,沒事翻一下,鞏固一下。
  •   總體來說,還好,需要花時(shí)間看
  •   我覺得說得還比較詳細(xì)
  •   不知道是什么時(shí)候的書了頁面都不是純的白色了
  •   想自學(xué)的可以看看
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7