WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)1
WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)1
結(jié)構(gòu),結(jié)構(gòu),剛才我提到了標(biāo)簽有塊級(jí)元素和行內(nèi)元素之分的,要是不理解好這兩個(gè)概念,我們也不會(huì)很好的了解怎么合理的結(jié)構(gòu)化頁(yè)面,現(xiàn)在就來(lái)介紹它們:
塊級(jí)元素
塊級(jí)元素生成一個(gè)元素框,(默認(rèn)地)它會(huì)填充其父級(jí)元素的內(nèi)容,旁邊不能有其他元素。換句話(huà)說(shuō),他在元素框之前和之后生成了“分隔”符。我們最熟悉的HTML元素是p和div.
行內(nèi)元素
行內(nèi)元素在一個(gè)文本行內(nèi)生成元素框,而不會(huì)打斷這行文本。行內(nèi)元素最好的例子就是XHTML中的a元素。strong和em也屬于行內(nèi)元素。這些元素不會(huì)在它本身之前或之后生成“分隔符”,所以可以出現(xiàn)在另一個(gè)元素的內(nèi)容中,而不會(huì)破壞其顯示。
注意,盡管“塊”和“行內(nèi)”這兩個(gè)詞與HTML和XHTML中的塊級(jí)和行內(nèi)元素有很多共同點(diǎn),但也存在一個(gè)重要的差別。在HTML和XHTML中,塊級(jí)元素不能繼承自行內(nèi)元素(即不能嵌套在行內(nèi)元素中)。但是CSS中,對(duì)于顯示角色如何嵌套不存在任何限制。
恩,還是不能把CSS跟XHTML完全的分開(kāi)談,沒(méi)辦法,F(xiàn)在大家了解了什么是塊級(jí)元素和什么是行內(nèi)元素了吧。還是回過(guò)頭來(lái)接著說(shuō)我們的結(jié)構(gòu)化吧,以上講了這么多,我都是在講XHTML標(biāo)簽要結(jié)構(gòu)化,所以基本跟CSS關(guān)系不大,那么我們下面看看我寫(xiě)的這個(gè)頁(yè)面的代碼在沒(méi)有CSS的情況想,是否結(jié)構(gòu)清晰吧:
看看,頁(yè)面是不是依舊很清晰,很容易看出,哪里是標(biāo)題,哪里是導(dǎo)航,哪里是搜索表單?呵呵,其實(shí)我這么給大家看的頁(yè)面,跟我們的搜索引擎查看頁(yè)面的結(jié)構(gòu)很接近了,到這里大家可能體會(huì)到一些搜索引擎友好的意思了吧?
其實(shí)讓我們看看這個(gè)頁(yè)面的DOM數(shù)狀圖,可能我們對(duì)一個(gè)簡(jiǎn)潔合理的結(jié)構(gòu)化布局的頁(yè)面有更直觀的了解。
看看,是不是做到了我說(shuō)的:XHTML標(biāo)簽充分的語(yǔ)意化、盡量少的嵌套、頁(yè)面里基本只顯示用戶(hù)需要看的數(shù)據(jù)、對(duì)搜索引擎友好(沒(méi)有CSS支持時(shí),瀏覽頁(yè)面時(shí)同樣清晰,層次分明,十分容易查看的數(shù)據(jù)。),已做了基本的SEO優(yōu)化
呵呵,說(shuō)到這里我才回答了“怎樣的一個(gè)頁(yè)面才算是合理的布局的呢?”,做到上面4點(diǎn),我個(gè)人覺(jué)得這個(gè)頁(yè)面就已經(jīng)做到了合理布局。而至于說(shuō)要通過(guò)W3C的XHTML語(yǔ)法驗(yàn)證,只是很基礎(chǔ)的開(kāi)始。一個(gè)通過(guò)驗(yàn)證的頁(yè)面和一個(gè)合理布局的頁(yè)面是兩碼事的。這里我再羅嗦一下,我一直都在說(shuō)的是個(gè)人認(rèn)為如何才算是一個(gè)合理布局的頁(yè)面?要達(dá)到什么要求才能算合理布局?因?yàn)橹挥欣斫饬诉@個(gè),之后的CSS的技巧(瀏覽器的兼容處理等)都是圍繞著讓XHTML頁(yè)面布局更合理來(lái)進(jìn)行的。而不是單純做到各個(gè)瀏覽器下都顯示正常(一致)。所以請(qǐng)記住在開(kāi)發(fā)時(shí)做到:
1.XHTML標(biāo)簽充分的語(yǔ)意化2.盡量少的嵌套
3.頁(yè)面里基本只顯示用戶(hù)需要看的數(shù)據(jù)(我們用CSS直接控制用戶(hù)需要看的數(shù)據(jù)的顯示的樣式)4.頁(yè)面對(duì)搜索引擎友好(沒(méi)有CSS支持時(shí),瀏覽頁(yè)面時(shí)同樣清晰,層次分明,十分容易查看數(shù)據(jù)。),
已做了基本的SEO優(yōu)化
今天就談到這里吧,下面我們會(huì)接著討論CSS的處理技巧。
擴(kuò)展閱讀:WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)
WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)
發(fā)布時(shí)間:201*-04-201*:05:33來(lái)源:作者:shengman點(diǎn)擊:21015
這里跟大家談?wù)剛(gè)人對(duì)WEB前端開(kāi)發(fā)的一些經(jīng)驗(yàn)(當(dāng)然都是個(gè)人的一些理解,有什么地方說(shuō)的欠妥或不對(duì)的地方還請(qǐng)包含和指正),這里我就從WEB標(biāo)準(zhǔn)開(kāi)始吧。WEB標(biāo)準(zhǔn)是什么?
說(shuō)是WEB標(biāo)準(zhǔn),不過(guò)我這里主要是對(duì)XHTML1.1和CSS2.1的一些經(jīng)驗(yàn)總結(jié)。因?yàn)閃EB含蓋的內(nèi)容實(shí)在是太多了,“WEB標(biāo)準(zhǔn)”是一系列標(biāo)準(zhǔn)的總稱(chēng),包括HTML4.0、XHTML1.1、CSS2.1、XML1.0、RSS2.0、ECMAScript1.1、DOM1.0等等。所以這里要跟大家指出來(lái)一下,WEB標(biāo)準(zhǔn)不是我們所說(shuō)的DIV+CSS。剛剛上面提到了——DIV+CSS,這里要說(shuō)明下,這樣說(shuō)其實(shí)是不正確的。DIV+CSS準(zhǔn)確的說(shuō)法(個(gè)人的理解)應(yīng)該是:采用W3C推薦的WEB標(biāo)準(zhǔn)中的XHTML1.1結(jié)合CSS2.0樣式表制作頁(yè)面的方法,DIV應(yīng)該指的是XHTML標(biāo)簽,而CSS顯示是指的CSS樣式表了。采用WEB標(biāo)準(zhǔn)開(kāi)發(fā)的好處
那么W3C為什么會(huì)推薦這樣的頁(yè)面制作方法呢?下面我們就簡(jiǎn)單的看看采用WEB標(biāo)準(zhǔn)開(kāi)發(fā)(個(gè)人理解的)相對(duì)以前TABLE布局的優(yōu)勢(shì)有哪些?1、節(jié)約運(yùn)營(yíng)成本
看看我們的WEB標(biāo)準(zhǔn)制作方法是如何做到的?
采用WEB標(biāo)準(zhǔn)制作,我們可以做到表現(xiàn)很形式的分離,我們用XHTML來(lái)表現(xiàn)(數(shù)據(jù)),用CSS來(lái)控制(頁(yè)面元素呈現(xiàn)的)形式。寫(xiě)的好的頁(yè)面,XHTML代碼中基本上都是用戶(hù)要看的數(shù)據(jù),還其他修飾性的東西,全部由我們的CSS來(lái)控制。這樣一來(lái)我們的(XHTML)頁(yè)面的體積就大大減小了,這樣你在帶寬上的費(fèi)用就會(huì)大家降低了,這個(gè)怎么降低的,你可以想象一下,YAHOO的首頁(yè)小1K,100W個(gè)人一起訪(fǎng)問(wèn),那么帶寬節(jié)約了多少?而且可以更充分的利用帶寬。
而我們的CSS控制了,所有的頁(yè)面元素的樣式,現(xiàn)在想改網(wǎng)站的整體風(fēng)格,你只需要花幾分鐘修改一下一個(gè)CSS文件,就可以輕松搞定了。維護(hù)的成本也下來(lái)了,省了不少錢(qián)了吧?還有,你開(kāi)這個(gè)頁(yè)面的速度會(huì)快很多啊,一個(gè)讓你等半分鐘的頁(yè)面,除非里面的信息對(duì)你很有用,不然我們大家基本都沒(méi)有太多的時(shí)間去用來(lái)等待的。
2、對(duì)用戶(hù)友好更友好,且有機(jī)會(huì)獲得更多的用戶(hù)現(xiàn)在來(lái)說(shuō)說(shuō)用戶(hù)友好。首先我想把我們的用戶(hù)來(lái)分下類(lèi)。第一類(lèi):普通用戶(hù)(每個(gè)訪(fǎng)問(wèn)我們網(wǎng)站的人);第二類(lèi):搜索引擎;
采用WEB標(biāo)準(zhǔn)開(kāi)發(fā)的頁(yè)面,結(jié)構(gòu)清晰,頁(yè)面體積小,瀏覽器兼容性好。普通用戶(hù)訪(fǎng)問(wèn)的時(shí)候,頁(yè)面打開(kāi)速度快,而且不管用戶(hù)使用那種瀏覽器,都能夠正常訪(fǎng)問(wèn)(顯示)頁(yè)面,且頁(yè)面的結(jié)構(gòu)清晰,要找的數(shù)據(jù)可以很方便的瀏覽到。
而對(duì)搜索引擎來(lái)說(shuō),一個(gè)好的采用WEB標(biāo)準(zhǔn)開(kāi)發(fā)的頁(yè)面,都是做過(guò)SEO優(yōu)化的,它訪(fǎng)問(wèn)起來(lái)很友好,很容易理解你的頁(yè)面中哪里是標(biāo)題(H1~H6標(biāo)簽),哪里是段落(p標(biāo)簽),哪里是段落里要強(qiáng)調(diào)的內(nèi)容(strong標(biāo)簽)等,它可以很容易的分析出來(lái)。而一個(gè)SEO好的站點(diǎn),大家都知道,被搜索引擎收錄的機(jī)會(huì)更多,這個(gè)也意味著您的網(wǎng)站會(huì)被更多的普通用戶(hù)訪(fǎng)問(wèn)到,給你的站點(diǎn)帶來(lái)更多的用戶(hù)。
一個(gè)能幫我們省下大筆費(fèi)用,提高工作效率。同時(shí)又能夠提高頁(yè)面瀏覽速度,對(duì)用戶(hù)友好,甚至能夠不花錢(qián)宣傳,就能給你帶來(lái)更多用戶(hù)的技術(shù)。你說(shuō)你會(huì)不會(huì)去使用它?這個(gè)也正式我們的W3C推薦使用WEB標(biāo)準(zhǔn)開(kāi)放網(wǎng)站的原因啊。而這個(gè)技術(shù)也得到了我們廣大用戶(hù)的認(rèn)可,所以您現(xiàn)在需要學(xué)習(xí)WEB標(biāo)準(zhǔn)啊。溫習(xí)完了基礎(chǔ)課程,現(xiàn)在正式開(kāi)始講XHTML和CSS的技巧了。合理的布局
有朋友會(huì)開(kāi)始問(wèn)了,怎么一開(kāi)始就開(kāi)始講合理的布局了呢?前面我們提到了一些知識(shí)點(diǎn)——“結(jié)構(gòu)清晰、SEO優(yōu)化、頁(yè)面體積小、XHTML代碼中基本上都是用戶(hù)要看的數(shù)據(jù)”。這些東西,都是我們做了合理布局的結(jié)果。而且我個(gè)人覺(jué)得,我們采用WEB標(biāo)準(zhǔn)制作的一切都是從這個(gè)知識(shí)點(diǎn)開(kāi)始的,所以我這里就先來(lái)說(shuō)這個(gè)話(huà)題。
那么大家又會(huì)開(kāi)始問(wèn),怎樣的一個(gè)頁(yè)面,才算是合理的布局的呢?這個(gè)問(wèn)題問(wèn)題問(wèn)得好,也是我們大家剛開(kāi)始學(xué)用WEB標(biāo)準(zhǔn)的問(wèn)得最多的問(wèn)題之一,我也曾經(jīng)常被這個(gè)問(wèn)題所困擾,這里就說(shuō)說(shuō)我對(duì)合理布局的一些理解。
在開(kāi)始講合理布局的頁(yè)面要達(dá)到的要素前,我們還是用個(gè)實(shí)例來(lái)講解會(huì)更直觀些。先來(lái)看看這個(gè)圖片:不錯(cuò),這個(gè)是一個(gè)文章詳細(xì)頁(yè),沒(méi)有左右兩欄布局,不過(guò)這里我重點(diǎn)要講的是合理的布局,在稍后的文章中我會(huì)詳細(xì)的介紹浮動(dòng)元素。好,回到剛才的話(huà)題,大家看到了這個(gè)頁(yè)面了。
我這里先把代碼寫(xiě)給大家看看(省略了部分代碼):
Ajax標(biāo)簽導(dǎo)航實(shí)例詳解
海嘯的地盤(pán)--享受生活,享受每一天!
站內(nèi)搜索:
全部主題(X)HTMLCSSJavascriptXML
ASP/ASP.NET
ARTICLESTOPICSABOUTCONTACTGESTBOOKFEED
Ajax標(biāo)簽導(dǎo)航實(shí)例詳解作者/程序設(shè)計(jì):domain來(lái)源:domain.com發(fā)布時(shí)間:201*年4月28日代碼篇
之前整理發(fā)表了《XMLHTTPRequest的屬性和方法簡(jiǎn)介》,它Ajax要使用的核心的技術(shù)之一,現(xiàn)在就來(lái)實(shí)際運(yùn)用它。這個(gè)Ajax標(biāo)簽導(dǎo)航,是我很久前就寫(xiě)的一個(gè)腳本,很實(shí)用的(還被很多網(wǎng)站收錄了哦),現(xiàn)在拿它來(lái)做實(shí)例講解吧!當(dāng)然個(gè)人能力有限,有什么不對(duì)的地方還請(qǐng)多包含!
效果大家看到了,核心功能有:1、將當(dāng)前選中標(biāo)簽以特殊的樣式顯示
2、將異步加載的頁(yè)面信息顯示到指定的DOM節(jié)點(diǎn)中
我們來(lái)看看處理腳本的代碼吧:
程序代碼:ajaxtab.js*使用方法:$("frmSearch")
============================================================*/function$(i){
if(!document.getElementById)returnfalse;if(typeofi==="string"){
if(document.getElementById&&document.getElementById(i)){//W3CDOM
returndocument.getElementById(i);}
elseif(document.all&&document.all(i)){//MSIE4DOMreturndocument.all(i);}
elseif(document.layers&&document.layers[i]){//NN4DOM..note:thiswon"tfindnestedlayersreturndocument.layers[i];}else{
returnfalse;}}
else{returni;}}//-->
id="news"-news就是我們的導(dǎo)航標(biāo)簽的ID;
id="newsCnt"-newsCnt就是我們要寫(xiě)入信息的目標(biāo)DOM節(jié)點(diǎn);class="first"-first當(dāng)前(第一個(gè))標(biāo)簽的樣式;
id="news-0"-news-0通過(guò)”-“分開(kāi),我們就分別可以得到news(導(dǎo)航標(biāo)簽ID),0(標(biāo)簽[li]在導(dǎo)航標(biāo)簽中的索引值)
網(wǎng)站重構(gòu)-超鏈接-標(biāo)簽間的分割線(xiàn)
我羅列的這些東西,相信大家開(kāi)始看出了些頭緒了,呵呵,不過(guò)別急!在我們看處理的腳本之前,先讓我們來(lái)看看導(dǎo)航標(biāo)簽的樣式,主要是看看我們對(duì)分割線(xiàn)的處理(一點(diǎn)CSS處理的技巧)。
本來(lái)想偷個(gè)懶,讓大家看我上邊說(shuō)的那篇文章,想想也就是Ctrl+C&Ctrl+V,都貼出來(lái)吧!呵呵。!
不過(guò)還沒(méi)有完,最后要說(shuō)的就是innerHTML這個(gè)特性,這里我們還要感謝微軟啊,innerHTML就是它的專(zhuān)利,我們就是用它來(lái)改變指定DOM內(nèi)的HTML字符串的,而不用刷新頁(yè)面。詳細(xì)的信息大家還是google一下吧,我也要休息下。!喝口茶先!!^-^!
以上講了這么多,我們最后來(lái)看看,我們這個(gè)ajax標(biāo)簽導(dǎo)航都用到了那些技術(shù)吧:XHTMLCSSJavascriptDOM
XMLHttpRequest對(duì)象innerHTML
還有XML,我們這個(gè)例子沒(méi)有涉及到。東西雖小,包含的(web前端開(kāi)發(fā))知識(shí)可是都用到了啊,我把我會(huì)的點(diǎn)東西都端出來(lái)了(要失業(yè)了),呵呵!
當(dāng)然我很喜歡跟大家多交流,以后有時(shí)間,我們?cè)趤?lái)談?wù)凜SS的HACKS技巧,JavascriptDOM編程等等的,今天就收工了,謝謝捧場(chǎng)先!!
Copyright©201*-201*domain.com,Allrightsreserved.PoweredBy:domain
看出來(lái)什么沒(méi)有?(代碼是很多)可能大家已經(jīng)發(fā)現(xiàn),整個(gè)頁(yè)面里基本上都是用戶(hù)要看的數(shù)據(jù),其中只包含了很少(必要)的布局(XHTML)標(biāo)簽(請(qǐng)?jiān)试S我這么說(shuō))。整個(gè)頁(yè)面基本都是由最基礎(chǔ)的h1~h6、p、ul、ol、li、form、div標(biāo)簽來(lái)實(shí)現(xiàn)的。
說(shuō)到這里就要講到我在前面提到的“結(jié)構(gòu)清晰、SEO優(yōu)化、頁(yè)面體積小、XHTML代碼中基本上都是用戶(hù)要看的數(shù)據(jù)”,看看我的這個(gè)例子做到了沒(méi)有?
結(jié)構(gòu)清晰--也就是我們常說(shuō)的,XHTML標(biāo)簽要結(jié)構(gòu)化(語(yǔ)意化)。什么叫結(jié)構(gòu)化?
由于個(gè)人認(rèn)為這個(gè)知識(shí)點(diǎn)是十分重要的,所以請(qǐng)?jiān)试S我在這里多羅嗦幾句,我們采用WEB標(biāo)準(zhǔn)的方法制作頁(yè)面的優(yōu)勢(shì)就體現(xiàn)在頁(yè)面結(jié)構(gòu)清晰。我們以前用table布局的時(shí)候,我們的表現(xiàn)(數(shù)據(jù))和形式(布局樣式)是混在一起的,有很多冗余的數(shù)據(jù)混雜在一起,而大家再看看我上面給大家展示的代碼,很明顯,結(jié)構(gòu)十分清晰。
說(shuō)了半天,還是沒(méi)有說(shuō)什么是結(jié)構(gòu)化,什么才是結(jié)構(gòu)清晰?不要急。還記得我剛才提到的那幾個(gè)標(biāo)簽嗎?h1~h6--如果你要顯示的數(shù)據(jù)是作為標(biāo)題顯示的時(shí)候,就用這些標(biāo)簽,因?yàn)檫@個(gè)標(biāo)簽的意思就是說(shuō),這個(gè)是一個(gè)標(biāo)題,不僅我們的用戶(hù)很容易理解h-head的英文字母縮寫(xiě),我們的另外一個(gè)用戶(hù)搜索引擎也可以很容易理解它。呵呵,看到了吧,一個(gè)充分結(jié)構(gòu)化的頁(yè)面,對(duì)用戶(hù)是十分友好的。p--Paragraph(段落)ul--unorglizedlist(無(wú)序的列表)ol--orglizedlist(有序的列表)li--listitem(列表項(xiàng))form--表單div--division(區(qū)域)
我這么一寫(xiě),大家估計(jì)開(kāi)始明白了,原來(lái)XHTML標(biāo)簽是有著自己的意義的(至于其他的標(biāo)簽的語(yǔ)意義,大家可以自己到W3C看看它的解釋?zhuān)部梢圆榭凑Z(yǔ)義化你的HTML標(biāo)簽和屬性),所以我們講要語(yǔ)意化的意思,就是用合理的標(biāo)簽來(lái)顯示數(shù)據(jù),比如前面提到的,是標(biāo)題,就應(yīng)該用h1~h6標(biāo)簽,如果是一個(gè)段落的介紹文字,那么就應(yīng)該使用p標(biāo)簽,如果是顯示的一個(gè)沒(méi)有順序的列表,就應(yīng)該用ul標(biāo)簽,如此...所以看這個(gè)例子里
Ajax標(biāo)簽導(dǎo)航實(shí)例詳解
這么寫(xiě)就是很合理的,h2標(biāo)簽就說(shuō)明這里是個(gè)標(biāo)題。而這么寫(xiě):復(fù)制內(nèi)容到剪貼板代碼:.title{
font-size:18px;...}
Ajax標(biāo)簽導(dǎo)航實(shí)例詳解
雖然你用了strong來(lái)強(qiáng)調(diào)說(shuō)明這部分文字,但是還是沒(méi)有h2標(biāo)簽來(lái)的直接明了。還有這么寫(xiě)
Ajax標(biāo)簽導(dǎo)航實(shí)例詳解
也不是我們推薦的,可以不用嵌套層的地方,我們盡量不要去過(guò)多的嵌套層,減少嵌套會(huì)讓我們的瀏覽器解析起來(lái)會(huì)更容易,速度更快。
所我們使用WEB標(biāo)準(zhǔn)開(kāi)發(fā)頁(yè)面,絕對(duì)不是單純的把以前的table換成DIV就OK了。而采用標(biāo)準(zhǔn)制作頁(yè)面,也不意味著我們就不使用table。只要把握我剛才說(shuō)的原則,使用合理的標(biāo)簽顯示相應(yīng)特征的數(shù)據(jù)。其實(shí)我們的table標(biāo)簽是一個(gè)很好的用來(lái)顯示二維數(shù)據(jù)的標(biāo)簽,而table標(biāo)簽也確實(shí)是設(shè)計(jì)出來(lái)用來(lái)顯示數(shù)據(jù)的,而不是用來(lái)布局的,只是我們當(dāng)時(shí)的設(shè)計(jì)師們都用table標(biāo)簽來(lái)布局了。。
友情提示:本文中關(guān)于《WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)1》給出的范例僅供您參考拓展思維使用,WEB前端開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)1:該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。