l W3C 指萬維網聯盟(World Wide Web Consortium)javascript
l W3C 建立於1994年10月css
l W3C 由 Tim Berners-Lee 建立html
l W3C 是一個會員組織java
l W3C 的工做是對 web 進行標準化web
l W3C 建立並維護 WWW 標準sql
l W3C 標準被稱爲 W3C 推薦(W3C 規範)chrome
統一規範的標準對於提升開發效率,尤爲是團隊開發,相當重要,若是一塊兒開發的隊友,不遵照標準,我用小寫標籤,你用大寫;元素隨意不閉合,屬性不用雙引號引發來,DocType隨便放,那麼咱們可能會有一些無謂的錯誤或邏輯問題,爲了排查這些問題浪費必定時間,並且這些時間都是一開始能夠避免的,好吧,只能加班把時間補回來了。編程
君不見,HTML5,一份標準,橫空出世後,掀起WEB界軒然大波,瀏覽器成爲萬能藥。不少UI庫,甚至silverlight和Flash都痿了。MS又如何,adobe又如何,仍是w3c NB一點。各大業界網站都以此動態爲亮點新聞放在頭條,不少招聘信息都喜歡加上一句會HTML5優先。標準,影響力很大。一級企業作標準,二級企業作品牌,三級企業拼銷售。要想提升水平,標準很關鍵。具體到web開發了,天然而然是w3c標準了。瀏覽器
怎麼實施w3c標準框架
首先要求團隊裏面的成員都熟悉,,一些很基礎常見的就不能再違反了。其次要常常關注,由於標準並非固定不變的,例如如今HTML5的script元素就不加type了,新標準有新寫法。再次就是結合自身團隊,制定適用的以w3c標準爲基礎的開發標準,畢竟要常常用的東西才能記憶深入,不然咱們的程序也不用寫註釋了。
具體內容(此內容隨時更新,最新具體請上網查看):
拋棄聲明:之後咱們將拋棄font標籤,新的頁面中不該該再出現如<font color=」red」></font>,已經存在的老的頁面也應該在修改時儘可能替代,替代方法:<span class=」red_tex」></span>。
一個標準XHTML頭信息格式以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312"> <head> <meta charset="utf-8" /> <title>W3Cschool - 學技術查資料,從w3cschool開始!</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="renderer" content="webkit" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="keywords" content="w3cschool,w3cschool在線教程,技術文檔,編程入門教程,W3Cschool,W3C,HTML,HTML5,CSS,Javascript,jQuery,Bootstrap,PHP,Java,Sql" /> <meta name="description" content="w3cschool是一個專業的編程入門學習及技術文檔查詢網站,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等編程語言和開源技術的在線教程及使用手冊,是類國外W3Cschool的W3C學習社區及菜鳥編程平臺。" /></head>
一、什麼是DOCTYPE
DOCTYPE是document type(文檔類型)的簡寫,用來講明你用的XHTML或者HTML是什麼版本。其中的DTD(例如xhtml1-transitional.dtd)叫文檔類型定義,裏面包含了文檔的規則,瀏覽器就根據你定義的DTD來解釋你頁面的標識,並展示出來。要創建符合標準的網頁,DOCTYPE聲明是必不可少的關鍵組成部分;除非你的XHTML肯定了一個正確的DOCTYPE,不然你的標識和CSS都不會生效。
XHTML 1.0 提供了三種DTD聲明可供選擇:
i) 過渡的(Transitional):要求很是寬鬆的DTD,它容許你繼續使用HTML4.01的標識(可是要符合xhtml的寫法)。
完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ii) 嚴格的(Strict):要求嚴格的DTD,你不能使用任何表現層的標識和屬性,例如<br>。
完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
iii) 框架的(Frameset):專門針對框架頁面設計使用的DTD,若是你的頁面中包含有框架,須要採用這種DTD。
完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
注:DOCTYPE聲明必須放在每個XHTML文檔最頂部,在全部代碼和標識之上。
二、名字空間 namespace
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
一般咱們HTML4.0的代碼只是<html>,這裏的"xmlns"是什麼呢?
這個「xmlns」是XHTML namespace的縮寫,叫作「名字空間」聲明。XHTML是HTML向XML過渡的標識語言,它須要符合XML文檔規則,所以也須要定義名字空間。又由於XHTML1.0不能自定義標識,因此它的名字空間都相同,就是"http://www.w3.org/1999/xhtml"。目前階段咱們只要照抄代碼就能夠了。
3、定義語言編碼
<meta http-equiv=「Content-Type」 content=「text/html; charset=gb2312」 />
爲了被瀏覽器正確解釋和經過W3C代碼校驗,全部的XHTML文檔都必須聲明它們所使用的編碼語言,咱們通常使用gb2312(簡體中文),製做多國語言頁面也有可能用Unicode、ISO-8859-1等,根據你的須要定義。
注:若是忘記了定義語言編碼,可能就會出現,你在DW(dreamweaver)作完一個頁面,第二次打開時全部的中文變成了亂碼。
四、Javascript定義
Js必需要用<script language="javascript" type="text/javascript">來開頭定義,而不是原來的<script language=javascript>或乾脆直接<script>,而且須要加個註釋符<!-- -->,以保證不在不支持js的瀏覽器上直接顯示出代碼來。
例如:
<script language="javascript" type="text/javascript"> //<![CDATA[ function show_layout(selObj){ var n = selObj.options[selObj.selectedIndex].value; document.getElementById('stylesheet').href = n; } //]]> </script>
注:具體參考js規範。
五、CSS定義
CSS必需要用<style type=「text/css」>開頭來定義,而不是原來的直接<style>,也不建議直接寫在內容代碼裏如:<div style=」padding-left:20px;」></div>,並須要加個註釋符<!-- -->
例如:
<style type="text/css" media="screen"> <!-- body {margin:0px;padding:0px;font-size:12px;text-align:center} --> </style>
爲保證各瀏覽器的兼容性,在寫CSS時請都寫上數量單位,例如:錯誤:.space_10{padding-left:10} 正確:.space_10 {padding-left:10px}
六、不要在註釋內容中使用「--」
「--」只能發生在XHTML註釋的開頭和結束,也就是說,在內容中它們再也不有效。
例以下面的代碼是無效的:<!--這裏是註釋-----------這裏是註釋-->
正確的應用等號或者空格替換內部的虛線。<!--這裏是註釋============這裏是註釋-->
7、全部標籤的元素和屬性的名字都必須使用小寫
與HTML不同,XHTML對大小寫是敏感的,<title>和<TITLE>是不一樣的標籤。XHTML要求全部的標籤和屬性的名字都必須使用小寫。例如:<BODY>必須寫成<body>。大小寫夾雜也是不被承認的,一般dreamweaver自動生成的屬性名字"onMouseOver"也必須修改爲"onmouseover"。
八、全部的屬性必須用引號""括起來
在HTML中,你能夠不須要給屬性值加引號,可是在XHTML中,它們必須被加引號。
例如:<height=80>必須修改成:<height="80">。
特殊狀況,你須要在屬性值裏使用雙引號,你能夠用",單引號可使用',例如:<alt="say'hello'">
九、把全部<和&特殊符號用編碼表示
任何小於號(<),不是標籤的一部分,都必須被編碼爲 <
任何大於號(>),不是標籤的一部分,都必須被編碼爲 >
任何與號(&),不是實體的一部分的,都必須被編碼爲 &
錯誤:
http://club.china.alibaba.com/forum/thread/search_forum.html?action=SearchForum&doSearchForum=true&main=1&catcount=10&keywords=mp3
正確:
http://club.china.alibaba.com/forum/thread/search_forum.html?action=SearchForum&doSearchForum=true&main=1&catcount=10&keywords=mp3
十、給全部屬性賦一個值
XHTML規定全部屬性都必須有一個值,沒有值的就重複自己。例如:
<td nowrap><input type="checkbox" name="shirt" value="medium" checked>
必須修改成:
<td nowrap="nowrap"><input type="checkbox" name="shirt" value="medium" checked="checked" />
十一、全部的標記都必需要有一個相應的結束標記
之前在HTML中,你能夠打開許多標籤,例如<p>和<li>而不必定寫對應的</p>和</li>來關閉它們。但在XHTML中這是不合法的。XHTML要求有嚴謹的結構,全部標籤必須關閉。若是是單獨不成對的標籤,在標籤最後加一個"/"來關閉它。
例如:<br />
<img height="80" alt="網頁" title=」網頁」 src="logo.gif" width="200" />
特殊結束標記
錯誤:
Document.write("<td width=\"300\"><a href=\"1.html\">ok</a></td>");
正確:
Document.write("<td width=\"300\"><a href=\"1.html\">ok<\/a><\/td>");
在js中,原已結束的標籤須要再轉義再結束。
十二、全部的標記都必須合理嵌套
一樣由於XHTML要求有嚴謹的結構,所以全部的嵌套都必須按順序,之前咱們這樣寫的代碼:
<p><b></p></b>必須修改成:<p><b></b></p>
就是說,一層一層的嵌套必須是嚴格對稱。
錯誤:
<table><tr><form><td></td></form></tr></table>
正確:
<form><table><tr><td></td></tr></table></form>
1三、圖片添加有意義的alt屬性
例如:
<img src="logo.gif" width="100" height="100" align="middle" boder="0" alt="w3cschool" />
儘量的讓做爲內容的圖片都帶有屬於本身的alt屬性。
同理:添加文字連接的title屬性。
<a href="#" target="_blank" title="新聞新聞新聞新聞">新聞新聞…</a>,在一些限定字數的內容展現尤其重要,幫助顯示不完成的內容顯示完整,而不用考慮頁面會所以而撐大。
1四、在form表單中增長lable,以增長用戶友好度
例如:
<form action="http://somesite.com/prog/adduser" method="post"> <label for="firstname">first name: </label> <input type="text" id="firstname" /> <label for="lastname">last name: </label> <input type="text" id="lastname" /></form>