結合自己的web標準學(xué)習和應用歷程中的一些經(jīng)歷和藍色理想網(wǎng)頁(yè)標準化版面版友們提出的問(wèn)題和學(xué)習交流中探討的問(wèn)題整理一些在web標準學(xué)習和應用中的一些疑問(wèn),并進(jìn)行回答,有不對的地方還請大家指出。
1.web標準是一個(gè)標準嗎?回答:WEB標準不是某一個(gè)標準,而是一系列標準的集合。網(wǎng)頁(yè)主要由三部分組成:結構(Structure)、表現(Presentation)和行為(Behavior)。對應的標準也分三方面:結構化標準語(yǔ)言主要包括XHTML和XML,表現標準語(yǔ)言主要包括CSS,行為標準主要包括對象模型(如 W3C DOM)、ECMAScript等。這些標準大部分由W3C起草和發(fā)布,也有一些是其他標準組織制訂的標準,比如ECMA(European Computer Manufacturers Association)的ECMAScript標準。
2.Design with web standard(應用web標準進(jìn)行設計)就是div+css替代table布局嗎?回答:肯定不是,上面一個(gè)問(wèn)題里提過(guò)了,他是很多標準的集合,怎么能一個(gè)div+css就概括了呢?確切的說(shuō),我們常見(jiàn)的設計應該是xhtml+css+DOM,結構標準+表現標準+行為標準。
xhtml是網(wǎng)頁(yè)的結構,CSS格式化網(wǎng)頁(yè)、控制字體、布局、顏色等等。DOM創(chuàng )建交互行為和效果。而每一個(gè)部分都要遵循相應標準。
<div>是一個(gè)xhtml的標簽(tag),沒(méi)有語(yǔ)義,他被作為一個(gè)裝載信息的容器(box)來(lái)使用,目的是為了CSS能更好的控制網(wǎng)頁(yè)的視覺(jué)效果,為設計師提供更廣闊的發(fā)揮空間。
<table>是指定所含內容要組織成行列的表格,傳統的table布局就是一種誤用,而且不具備標準所擁有的優(yōu)點(diǎn),所以在應用web標準設計網(wǎng)頁(yè)時(shí),table布局當然被拋棄了。
3.應用web標準設計的網(wǎng)頁(yè)瀏覽器兼容性為什么不理想?回答:這個(gè)問(wèn)題的提出我想是因為網(wǎng)頁(yè)的表現效果在各種瀏覽器下不是很一致。這個(gè)問(wèn)題的產(chǎn)生主要是由于CSS和DOM,你看到的兼容性不好,是因為web標準中的表現(CSS)標準沒(méi)有得到現代的瀏覽器(古老的瀏覽器肯定不能很好的支持)很好的支持,有很多的CSS解析bug,如盒bug、IE浮動(dòng) 3pxbug等,這些都是瀏覽器自身的問(wèn)題。web標準是為了消除瀏覽器之爭,打破他們的私有代碼,讓web標準體系里的代碼在所有的瀏覽器上都正常解析,實(shí)現web的跨平臺性,而不是你的代碼符合web標準就能帶來(lái)很好像兼容性,那些古老的瀏覽器也沒(méi)有支持web標準嘛,而且Firefox, Opera新版本不是很快就支持標準了嗎?IE7.0的泄漏版本也在向標準靠近。
雖然CSS布局比較困難,布局中的問(wèn)題也挺多,但是比起table布局了,擴展性確實(shí)提高了,就像blog的功能欄可以放到左邊頁(yè)可以放到右邊,table布局能實(shí)現的div配合CSS也全部都實(shí)現了,而且還做到了table布局不能做到的。
4.web標準能做出漂亮的網(wǎng)頁(yè)嗎?回答:藝術(shù)效果和web標準無(wú)關(guān)。這是一個(gè)老掉牙的誤解的,但是與CSS的應用有一定的關(guān)系,看看
CSSbeauty,
CSSimport等網(wǎng)站收錄的通過(guò)W3C校檢的網(wǎng)站,你就不會(huì )再問(wèn)了,而且CSS的誕生就是為了讓網(wǎng)頁(yè)有更豐富更完美的視覺(jué)效果,只要是表現就沒(méi)有CSS做不到的。還有作為視覺(jué)修飾的圖片一律在CSS中使用(如:background:url(yourpic.jpg);),作為信息的圖片才能用于<img>。
在web標準推廣的過(guò)程中,這個(gè)問(wèn)題一直是熱點(diǎn),CSS也被人作為標準的重點(diǎn)來(lái)學(xué)習,原因很簡(jiǎn)單,因為網(wǎng)頁(yè)不只是是信息,還有表現、視覺(jué)效果,沒(méi)有漂亮的用戶(hù)界面,客戶(hù)是不會(huì )選中你的作品的。
5.W3C校檢通過(guò)就是符合web標準嗎?回答:不一定,W3C校檢只是從代碼的層面分析你有沒(méi)有錯誤的語(yǔ)法,比如<br/>沒(méi)有閉合,span中嵌套div等等。而有些table布局的網(wǎng)頁(yè)也能通過(guò)W3C校檢,比如
table布局的一個(gè)實(shí)例,因為語(yǔ)義不符合,table布局就是結構和表現混雜。但是沒(méi)通過(guò)W3C校檢的也不一定符合web標準,web標準主要是語(yǔ)義化和結構&表現分離。
6.為什么要應用web標準設計網(wǎng)頁(yè)?回答:好處很多,最基本的是:
1)對網(wǎng)站瀏覽者的好處:
- 文件下載與頁(yè)面顯示速度更快;
- 內容能被更多的用戶(hù)所訪(fǎng)問(wèn)(包括失明、視弱、色盲等殘障人士);
- 內容能被更廣泛的設備所訪(fǎng)問(wèn)(包括屏幕閱讀機、手持設備、搜索機器人、打印機、電冰箱等等)
- 用戶(hù)能夠通過(guò)樣式選擇定制自己的表現界面
- 所有頁(yè)面都能提供適于打印的版本
2)對網(wǎng)站所有者的好處:
- 更少的代碼和組件,容易維護
- 帶寬要求降低(代碼更簡(jiǎn)潔),成本降低。舉個(gè)例子:當 ESPN.com 使用 CSS改版后,每天節約超過(guò)兩[*]兆字節(terabytes)的帶寬。
- 更容易被搜尋引擎搜索到
- 改版方便,不需要變動(dòng)頁(yè)面內容
- 提供打印版本而不需要復制內容
- 提高網(wǎng)站易用性。在美國,有嚴格的法律條款(Section 508)來(lái)約束政府網(wǎng)站必須達到一定的易用性,其他國家也有類(lèi)似的要求。
想了解更多?
7.什么是好的結構?
回答:好的結構這里所說(shuō)的是xhtml的結構,首先聲明<Doctype>和<head>部分采用標準推薦寫(xiě)法,其次就是標簽的語(yǔ)義化,無(wú)語(yǔ)義的標簽(<div>,<span>)作容器,<Hx>作標題,<p>作段落,<ul,ol,dl>作列表,<acronym>標明縮寫(xiě)詞,<table>指定所含內容要組織成行列的表格等等。再次是div容器的合理使用,層層嵌套也不好,代碼冗余,太少也不好,表現的擴展性太差,這個(gè)需要具體分析解決。
8.table什么時(shí)候使用?
回答:<table>有組織的所含內容成行列的表格,比如成績(jì)單,學(xué)生花名冊,排行榜等數據,想了解更多?
9.Web設計必須要符合Web標準嗎?
回答:沒(méi)有人規定你必須設計符合標準的網(wǎng)頁(yè),Web標準也不是非常完美,他還沒(méi)有支持多媒體(如flash)。而且Web標準推廣書(shū)名是Design with web standard,中文翻譯版本也是《網(wǎng)站重構——應用web標準進(jìn)行設計》,不是遵循web標準進(jìn)行設計。
10.web標準化中CSS能做多少事情?
回答:去看看小毅的CSS不是萬(wàn)能藥膏,CSS是負責表現的,也就是你的視覺(jué)感受都可以用CSS來(lái)實(shí)現,還有一些動(dòng)態(tài)效果:hover(鼠標滑過(guò))效果。
11.做div+css的人都是什么人?
回答:這個(gè)問(wèn)題首先是對web標準的一個(gè)誤解,提問(wèn)者的意思可能是xhtml+css設計網(wǎng)頁(yè)由什么人來(lái)負責,xhtml是結構網(wǎng)頁(yè)設計師需要學(xué)習程序員也需要學(xué)習,CSS 是表現設計師的事情,但是有的設計師對編碼不夠擅長(cháng),但是一個(gè)網(wǎng)頁(yè)設計師是綜合性的web UI(web用戶(hù)界面)設計師,不能只會(huì )設計圖紙,但是在過(guò)渡階段可以有一個(gè)擅長(cháng)xhtml+css設計師來(lái)銜接界面設計師和程序員。想了解更多去看看什么人適合學(xué)習WEB標準。
12.web標準體系中CSS最重要嗎?
回答:引用小毅的話(huà)“結構是戰略的高度,表現和行為是策略的高度”,具體說(shuō)說(shuō)就是web是一個(gè)裝載信息的容器,他的作用就是傳達信息,表現是為了讓信息更容易的讓瀏覽著(zhù)接受,為了優(yōu)化用戶(hù)體驗。行為也是用戶(hù)體驗的一部份。到了具體的應用,品牌形象展示藝術(shù)效果很重要,但是你的信息更重要,瀏覽著(zhù)不能看見(jiàn)你的 logo就能很具體的了解企業(yè)的情況。而且你企業(yè)的介紹、提供的服務(wù)等信息,可以通過(guò)web標準的對搜索引擎友好的優(yōu)點(diǎn)讓更多人了解到。