<h3>1.Web標準</h3>
Web標準是由一系列標準組合而成润梯。一個網(wǎng)頁主要由三部分組成:結(jié)構(gòu)層、表現(xiàn)層和行為層熊杨。對應(yīng)的標準也分三方面:結(jié)構(gòu)化標準語言主要包括XHTML和HTML以及XML肿轨,表現(xiàn)層標準語言主要包括CSS荡碾,行為標準主要包括對象模型荡澎,DOM均践、ECMAScript等。
結(jié)構(gòu)化標準語言摩幔,就是W3C規(guī)定的那樣;
㈠標簽的書寫彤委,需要開始和結(jié)束。單便簽除外或衡;
㈡塊級元素不能放在<p></p>標簽里面葫慎。li內(nèi)可以包含div標簽。
㈢塊元素里面可以放在塊和內(nèi)聯(lián)薇宠,特殊的 p和 h1—h6里面不要放塊元素,li和div可以放很多艰额。因為這兩個標簽澄港,本身就有容器的屬性
㈣內(nèi)聯(lián)里面要放內(nèi)聯(lián),不要放塊柄沮。
㈤結(jié)構(gòu)與表現(xiàn)分離
㈥命名一定要規(guī)范
表現(xiàn)層標準:
css的書寫回梧,首先要盡可能使用外部引入的方式,因為結(jié)構(gòu)層盡可能的減少表現(xiàn)層的代碼過多出現(xiàn)祖搓。達到分離的目的狱意。css的選擇器有哪些,那些屬性可以繼承拯欧,那些不可以繼承详囤。他們之間的優(yōu)先級是怎么樣的。
怎么用最簡潔的css代碼表達設(shè)計者的想法,而不只是實現(xiàn)設(shè)計者的想法就沒事了藏姐。我們要的是代碼簡潔隆箩,代碼過多,反而讓瀏覽器解析很多羔杨,浪費時間捌臊。
行為層標準:
主要是JavaScript中的知識。比如DOM兜材、ECMAScript理澎。使用javascript中的標準,即可曙寡。一般對于用戶的行為糠爬,或者說頁面上的動態(tài)效果的一些特殊實現(xiàn),我們可以會考慮到使用javascript來進行書寫卵皂,但是代碼的可復用性秩铆,模塊化。變量灯变,作用域殴玛。
可能更多的就是javascript的規(guī)定了。自己把自己的理解程度說出來就可以了添祸。
<h3>2.標簽語義化</h3>
什么是語義化滚粟?其實簡單說來就是讓機器可以讀懂內(nèi)容。web頁面的解析是由搜索引擎來進行搜索刃泌,機器來解析凡壤。所以語義化的標準是,盡可能的讓機器讀懂耙替。
最初的HTML中如h1~h6亚侠、thead、ul俗扇、ol等標簽硝烂,通過標簽的語義,最初設(shè)計的想法铜幽,來達到語義化的要求滞谢。如標題、表頭除抛、無序狮杨、有序列表,搜索引擎很好的利用了這些語義化標簽抓取內(nèi)容
后來到忽,最初定義的HTML語義化標簽橄教,不足以實現(xiàn)對Web頁面各個部分的功能或位置描述,所以Web前端人員利用HTML標簽的id和class屬性,進一步對HTML標簽進行描述颤陶,如對頁腳HTML標簽添加如id="footer"或者class="footer"的屬性(值)颗管,以“無聲”的方式在不同的前端程序員或者前后端程序員間實現(xiàn)交流。
制定HTML5的W3C組織采用了諸如header滓走、footer垦江、section等語義化標簽,來進行頁面布局的設(shè)計想法搅方,彌補了采用id="header"或者class="section"等比吭。
更深層次的語義化,是自己在團隊合作的過程中姨涡,對于需要聲明的變量和class衩藤,id。盡可能使用彼此能理解的英文涛漂。這樣減少合作的成本赏表,加快合作的效率。
為什么要語義化匈仗?
1.)為了在沒有CSS的情況下瓢剿,頁面也能呈現(xiàn)出很好地內(nèi)容結(jié)構(gòu)、代碼結(jié)構(gòu):為了裸奔時好看悠轩;
2.)用戶體驗:例如title间狂、alt用于解釋名詞或解釋圖片信息、label標簽的活用火架;
3.)有利于SEO:和搜索引擎建立良好溝通鉴象,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關(guān)鍵字的權(quán)重;
4.)方便其他設(shè)備解析(如屏幕閱讀器何鸡、盲人閱讀器纺弊、移動設(shè)備)以意義的方式來渲染網(wǎng)頁;
5.)便于團隊開發(fā)和維護骡男,語義化更具可讀性俭尖,是下一步吧網(wǎng)頁的重要動向,遵循W3C標準的團隊都遵循這個標準洞翩,可以減少差異化。
寫HTML代碼時應(yīng)注意什么焰望?
1.)盡可能少的使用無語義的標簽div和span骚亿;
2.)在語義不明顯時,既可以使用div或者p時熊赖,盡量用p, 因為p在默認情況下有上下間距来屠,對兼容特殊終端有利;
3.)不要使用純樣式標簽,如:b俱笛、font捆姜、u等,改用css設(shè)置迎膜。
4.)需要強調(diào)的文本泥技,可以包含在strong或者em標簽中(瀏覽器預設(shè)樣式,能用CSS指定就不用他們)磕仅,strong默認樣式是加粗(不要用b)珊豹,em是斜體(不用i);
5.)使用表格時榕订,標題要用caption店茶,表頭用thead,主體部分用tbody包圍劫恒,尾部用tfoot包圍贩幻。表頭和一般單元格要區(qū)分開,表頭用th两嘴,單元格用td丛楚;
6.)表單域要用fieldset標簽包起來,并用legend標簽說明表單的用途溶诞;
7.)每個input標簽對應(yīng)的說明文本都需要使用label標簽鸯檬,并且通過為input設(shè)置id屬性,在lable標簽中設(shè)置for=someld來讓說明文本和相對應(yīng)的input關(guān)聯(lián)起來螺垢。