整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Dreamweaver/Html常用標(biāo)簽(代碼)含義匯總

          本標(biāo)簽: 32

          1. <html></html>,創(chuàng)建一個HTML文檔;
          2. <head></head>,設(shè)置文檔標(biāo)題和其它在網(wǎng)頁中不顯示的信息;
          3. <title></title>,設(shè)置文檔的標(biāo)題;
          4. <h1></h1>,最大的標(biāo)題;
          5. <pre></pre>,預(yù)先格式化文本;
          6. <u></u>,下劃線
          7. <b></b>,黑體字;
          8. <i></i>,斜體字;
          9. <tt></tt>,打字機(jī)風(fēng)格的字體;
          10. <cite></cite>,引用,通常是斜體;
          11. <em></em>,強(qiáng)調(diào)文本(通常是斜體加黑體);
          12. <strong></strong>,加重文本(通常是斜體加黑體);
          13. <font,size="",color=""></font>,設(shè)置字體大小從1到7,顏色使用名字或RGB的十六進(jìn)制值;
          14. <BASEFONT></BASEFONT>,基準(zhǔn)字體標(biāo)記;
          15. <big></big>,字體加大;
          16. <SMALL></SMALL>,字體縮小;
          17. <STRIKE></STRIKE>,加刪除線;
          18. <CODE></CODE>,程式碼;
          19. <KBD></KBD>,鍵盤字;
          20. <SAMP></SAMP>,范例;
          21. <VAR></VAR>,變量;
          22. <BLOCKQUOTE></BLOCKQUOTE>,向右縮排;
          23. <DFN></DFN>,述語定義;
          24. <ADDRESS></ADDRESS>,地址標(biāo)記;
          25. <sup></SUP>,上標(biāo)字;
          26. <SUB></SUB>,下標(biāo)字;
          27. <xmp>...</xmp>固定寬度字體(在文件中空白、換行、定位功能有效)
          28. <plaintext>...</plaintext>固定寬度字體(不執(zhí)行標(biāo)記符號);
          29. <listing>...</listing>,固定寬度小字體;
          30. <font,color=00ff00>...</font>字體顏色;
          31. <font,size=1>...</font>最小字體;
          32. <font,style,='font-size:100,px'>...</font>無限增大.

          格式標(biāo)簽: 16

          1. <p></p>,創(chuàng)建一個段落;
          2. <p,align="">,將段落按左、中、右對齊;
          3. <br>,換行,插入一個回車換行符;
          4. <blockquote></blockquote>,從兩邊縮進(jìn)文本;
          5. <dl></dl>,列表標(biāo)簽,定義列表;
          6. <dt>,定義列表標(biāo)題;
          7. <dd>,定義列表內(nèi)容;

          例:

          <dl>

          <dt>標(biāo)題1</dt>

          <dd>內(nèi)容11</dd>

          <dd>內(nèi)容12</dd>

          <dt>標(biāo)題2</dt>

          <dd>內(nèi)容21</dd>

          <dd>內(nèi)容22</dd>

          </dl>

          1. <ol></ol>,列表標(biāo)簽,定義一個標(biāo)有數(shù)字的列表;
          2. <ul></ul>,列表標(biāo)簽,定義一個標(biāo)有圓點的列表;
          3. <li>,放在每個列表項之前; 放在<ol></ol>之間則每個列表項加上一個數(shù)字,放在<ul></ul>之間則每個列表項加上一個圓點;
          4. <div,align=""></div>,分區(qū)標(biāo)簽,用來排版大塊HTML段落,也用于格式化表;
          5. <MENU>,選項清單;
          6. <DIR>,目錄清單;
          7. <nobr></nobr>,強(qiáng)行不換行;
          8. <hr,size='9',width='80%',color='ff0000'>水平線(設(shè)定寬度);
          9. <center></center>,水平居中.

          鏈接標(biāo)簽: 7

          1. <a,href="URL"></a>,創(chuàng)建超文本鏈接;
          2. <a,href="mailtEMAIL">
          3. </a>,創(chuàng)建自動發(fā)送電子郵件的鏈接;
          4. <a,name="name"></a>,創(chuàng)建位于文檔內(nèi)部的書簽;
          5. <a,href="#name"></a>,創(chuàng)建指向位于文檔內(nèi)部書簽的鏈接;
          6. <BASE>,文檔中不能被該站點辨識的其它所有鏈接源的URL;
          7. <LINK>,定義一個鏈接和源之間的相互關(guān)系;

          鏈接標(biāo)簽注解:

          target="...",決定鏈接源在什么地方顯示(用戶自定義的名字,_blank,_parent,_self,_top);

          rel="...",發(fā)送鏈接的類型;

          rev="...",保存鏈接的類型;

          accesskey="...",指定該元素的熱鍵;

          shape="...",允許我們使用已定義的形狀定義客戶端的圖形鏡像(default,rect,circle,poly);

          coord="...",使用像素或者長度百分比來定義形狀的尺寸;

          tabindex="...",使用定義過的tabindex元素設(shè)置在各個元素之間的焦點獲取順序(使用tab鍵使元素獲得焦點).

          表格標(biāo)簽: 21

          1. <table></table>,創(chuàng)建一個表格;
          2. <tr></tr>,表格中的每一行;
          3. <td></td>,表格中一行中的每一個格子;
          4. <th></th>,設(shè)置表格頭:通常是黑體居中文字;
          5. <table,cellspacing="">,設(shè)置表格格子之間空間的大小;
          6. <table,border="">,設(shè)置邊框的寬度;
          7. <table,cellpadding="">,設(shè)置表格格子邊框與其內(nèi)部內(nèi)容之間空間的大小;
          8. <table,width="">,設(shè)置表格的寬度.用絕對像素值或總寬度的百分比;
          9. <table,align="">,設(shè)置表格格子的水平對齊方式(left,center,right,justify);
          10. <tr,align="">,設(shè)置表格格子的水平對齊方式(left,center,right,justify);
          11. <tr,valign="">,設(shè)置表格格子的垂直對齊方式(baseline,bottom,middle,top);
          12. <td,colspan="">,設(shè)置一個表格格子跨占的列數(shù)(缺省值為1);
          13. <td,rowspan="">,設(shè)置一個表格格子跨占的行數(shù)(缺省值為1);
          14. <td,nowrap>,禁止表格格子內(nèi)的內(nèi)容自動斷行;
          15. <CAPTION></CAPTION>,表格的標(biāo)題;
          16. <COLGROUP></COLGROUP>,定義多個列為一組列;
          17. <TABLE></TABLE>,創(chuàng)建一個表格;
          18. <THEAD></THEAD>,定義表格的頁眉;
          19. <COL>,定義一個列組中的列,以便對它們能夠同時設(shè)置有關(guān)屬性;
          20. <TBODY></TBODY>,定義一個表格的實體;
          21. <TFOOT></TFOOT>,定義一個表格的頁腳;

          表單標(biāo)簽: 18

          1. <form></form>,創(chuàng)建表單;

          action="...",接收數(shù)據(jù)的服務(wù)器的URL;

          method="...",HTTP的方法(get,,post),其中g(shù)et是被反對使用的;

          enctype="...",指定MIME(Internet媒體類型);

          onsubmit="...",當(dāng)提交表單時發(fā)生的內(nèi)部事件;

          noreset="...",在重新設(shè)置表單時發(fā)生的內(nèi)部事件;

          target="...",決定把內(nèi)容顯示在什么地方(_blank,_parent,_self,_top)

          1. <select,multiple,name="name",size=""></select>,創(chuàng)建滾動菜單,size設(shè)置在需要滾動前可以看到的表單項數(shù)目;
          2. <option>,設(shè)置每個表單項的內(nèi)容;
          3. <select,name="name"></select>,創(chuàng)建下拉菜單;
          4. <textarea,name="name",cols=40,rows=8></textarea>,創(chuàng)建一個文本框區(qū)域,列的數(shù)目設(shè)置寬度,行的數(shù)目設(shè)置高度;
          5. <input,type="checkbox",name="name">,創(chuàng)建一個復(fù)選框,文字在標(biāo)簽后面;
          6. <input,type="radio",name="name",value="">,創(chuàng)建一個單選框,文字在標(biāo)志后面;
          7. <input,type=text,name="foo",size=20>,創(chuàng)建一個單行文本輸入?yún)^(qū)域,size設(shè)置以字符串的寬度;
          8. <input,type="submit",value="name">,創(chuàng)建提交(submit)按鈕;
          9. <input,type="image",border=0,name="name",src="name.gif">,創(chuàng)建一個使用圖象的提交(submit)按鈕;
          10. <input,type="reset">,創(chuàng)建重置(reset)按鈕;
          11. <BUTTON></BUTTON>,創(chuàng)建一個按鈕;

          disabled="...",把按鈕的狀態(tài)設(shè)置為不能;

          name="...",按鈕的控制名,value="...",按鈕的值;

          type="...",按鈕的類型(button,,submit,,reset);

          1. <FIELDSET></FIELDSET>,把相互關(guān)聯(lián)的控件組合成一組;
          2. <ISINDEX>,提示用戶輸入;
          3. <LABEL></LABEL>,為一個控件提供標(biāo)簽;
          4. <LEGEND></LEGEND>,為FIELDSET元素指定一標(biāo)題;
          5. <SELECT></SELECT>,為用戶做選擇創(chuàng)建各個選項;
          6. <TEXTAREA></TEXTAREA>,創(chuàng)建一個允許用戶多行輸入的區(qū)域.

          表單標(biāo)簽注解:

          type="...",用于輸入控件的類型(text,password,checkbox,radio,submit,reset,file,hidden,image,button);

          name="...",控件的控制名(要求是除了submit和reset之外的任何名字);

          value="...",控件的初始值;

          checked="...",把一個單選鈕設(shè)置為選中的狀態(tài);

          disabled="...",把控件的狀態(tài)設(shè)置為不能使用;

          readonly="...",只對輸入密碼的文本框使用;

          size="...",表示以像素為單位的除了文本框和密碼框控件之外的其它控件的寬度,它是用來指定字符的數(shù)目;

          src="...",一個圖像控件的URL;

          maxlength="...",指定可以輸入的最多的字符數(shù)目;

          alt="...",另外一種文本描述;

          usemap="...",到客戶端圖形鏡像的URL;

          align="...",被反對.控制對齊方式(left,,center,,right,,justify);

          tabindex="...",通過定義的tabindex值確定在不同元素之間獲得焦點的順序;

          onfocus="...",當(dāng)元素獲得焦點時發(fā)生的事件;

          onblur="...",當(dāng)元素失去焦點時發(fā)生的事件;

          onselect="...",當(dāng)元素被選中時發(fā)生的事件;

          onchang="...",當(dāng)元素狀態(tài)被改變時發(fā)生的事件;

          accept="...",允許上載的文件類型.

          幀標(biāo)簽(框架標(biāo)簽): 27

          1. <frameset></frameset>,放在一個幀文檔的<body>標(biāo)簽之前,也可以嵌在其他幀文檔中;
          2. <frameset,rows="value,value">,定義一個幀內(nèi)的行數(shù),可用像素值或高度百分比;
          3. <frameset,cols="value,value">,定義一個幀內(nèi)的列數(shù),可用像素值或?qū)挾劝俜直?
          4. <frame>,定義一個幀內(nèi)的單一窗或窗區(qū)域;
          5. <noframes></noframes>,定義在不支持幀的瀏覽器中顯示什么提示;
          6. <frame,src="URL">,規(guī)定幀內(nèi)顯示的HTML文檔;
          7. <frame,name="name">,命名幀或區(qū)域以便別的幀可以指向它;
          8. <frame,marginwidth="">,定義幀左右邊緣的空白大小,必須大于等于1;
          9. <frame,marginheight="">,定義幀上下邊緣的空白大小,必須大于等于1;
          10. <frame,scrolling="">,設(shè)置幀是否有滾動欄,其值可以是"yes","no",或"auto";
          11. <frame,noresize>,禁止用戶調(diào)整一個幀的大小;
          12. <IFRAME></IFRAME>,創(chuàng)建一個內(nèi)聯(lián)的幀;

          scr="...",定義在幀中顯示的內(nèi)容的來源;

          frameborder="...",定義幀之間的邊界(0或1);

          align="...",被反對,控制對齊方式(left,,center,,right,,justify);

          height="...",幀的高度,width="..."幀的寬度;

          1. <marquee>...</marquee>,普通卷動;
          2. <marquee,behavior=slide>...</marquee>,滑動;
          3. <marquee,behavior=scroll>...</marquee>,預(yù)設(shè)卷動;
          4. <marquee,behavior=alternate>...</marquee>,來回卷動;
          5. <marquee,direction=down>...</marquee>,向下卷動;
          6. <marquee,direction=up>...</marquee>,向上卷動;
          7. <marquee,direction=right></marquee>,向右卷動;
          8. <marquee,direction='left'></marquee>,向左卷動;
          9. <marquee,loop=2>...</marquee>,卷動次數(shù);
          10. <marquee,width=180>...</marquee>,設(shè)定寬度;
          11. <marquee,height=30>...</marquee>,設(shè)定高度;
          12. <marquee,bgcolor=FF0000>...</marquee>,設(shè)定背景顏色;
          13. <marquee,scrollamount=30>...</marquee>,設(shè)定卷動距離;
          14. <marquee,scrolldelay=300>...</marquee>,設(shè)定卷動時間;
          15. <img,src="">,插入圖片,參數(shù)有:width="寬",alt="說明文字",height="高",boder="邊框".

          文檔整體屬性標(biāo)簽: 10

          1. <body,bgcolor="">,設(shè)置背景顏色.使用名字或RGB的十六進(jìn)制值;
          2. <body,background="">,設(shè)置背景圖片;
          3. <body,bgsound="">,設(shè)置背景音樂;
          4. <body,bgproperties="fixed">,固定背景圖片(IE適用);
          5. <body,text="">,設(shè)置文本顏色.使用名字或RGB的十六進(jìn)制值;
          6. <body,link="">,設(shè)置鏈接顏色.使用名,字或RGB的十六進(jìn)制值;
          7. <body,vlink="">,設(shè)置已使用的鏈接的顏色.使用名字或RGB的十六進(jìn)制值;
          8. <body,alink="">,設(shè)置正在被擊中的鏈接的顏色.使用名字或RGB的十六進(jìn)制值;
          9. <body,topmargin="">,設(shè)置頁面的上邊距;
          10. <body,leftmargin="">,設(shè)置頁面的左邊距.

          架是將一個頁面劃分為若干個窗口, 每一個窗口都是獨立;

          要實現(xiàn)框架必須使用框架型的DTD;

          框架就像一個窗戶是由窗格和玻璃組成;

          框架中不能有body及body子標(biāo)記;

          框架是由框架集(frameset)和框架頁(frame)組成;

          格式:

          <!DOCTYPE html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
          </head>
          <frameset>
          <frame />
          <frame />
          </frameset>
          </html>

          框架標(biāo)簽:

          <frameset></frameset> 放在一個框架文檔的<body>標(biāo)簽之前, 也可以嵌在其他框架文檔中;

          框架中不能有body及body子標(biāo)記, 框架是由框架集(frameset)和框架頁(frame)組成;

          <frameset rows="value,value"> 定義一個框架內(nèi)的行數(shù), 可用像素值或高度百分比;

          <frameset cols="value,value"> 定義一個框架內(nèi)的列數(shù), 可用像素值或?qū)挾劝俜直?

          <frameset cols="120,*"></frameset>

          <frameset cols="25%,50%,25%"></frameset>

          <frameset rows="120,*"></frameset>

          <frameset rows="25%,50%,25%"></frameset>

          frameborder 框架邊框顯示屬性

          該屬性用于指定框架周圍是否顯示邊框, 取值有1(顯示邊框, 默認(rèn)值)和0(不顯示邊框)。

          framespacing 該屬性用于指定框架之間的間隔, 以像素為單位。

          如果不設(shè)置該屬性,則框架之間沒有間隔。

          border 指定邊框?qū)挾葘傩?/p>

          該屬性用于指定邊框的寬度, 只有在frameborder屬性為1時有效。

          bordercolor 指定邊框顏色

          <noframes></noframes> 定義在不支持框架的瀏覽器中顯示什么提示;

          <html>
          <frameset cols="25%,50%,25%">
          <frame src="frame_a.html"/>
          <frame src="frame_b.html"/>
          <frame src="frame_c.html"/>
          <noframes>
          <body>您的瀏覽器無法處理框架!</body>
          </noframes>
          </frameset>
          </html>

          <frame> 定義一個框架內(nèi)的單一窗或窗區(qū)域;

          <frame src="url"> 規(guī)定框架內(nèi)顯示的html文檔;

          <frame name="name"> 命名框架或區(qū)域以便別的框架可以指向它;

          <frame marginwidth=""> 定義框架左右邊緣的空白大小,必須大于等于1;

          <frame marginheight=""> 定義框架上下邊緣的空白大小,必須大于等于1;

          <frame scrolling=""> 設(shè)置框架是否有滾動欄,其值可以是"yes","no",或"auto";

          <frame noresize> 禁止用戶調(diào)整一個框架的大小;其值只有一個"noresize"

          <frame src="frame_a.htm" longdesc="w3school.txt" /> longdesc屬性指向了帶有框架內(nèi)容長描述的頁面:

          <iframe></iframe> 創(chuàng)建一個內(nèi)聯(lián)的框架;

          src 定義在框架中顯示的內(nèi)容的來源;

          frameborder 規(guī)定是否顯示框架周圍的邊框。(0或1);

          align 控制對齊方式(left、right、middle、top、bottom);

          height 框架的高度,

          width 框架的寬度;

          marginheight 定義 iframe 的頂部和底部的邊距。

          marginwidth 定義 iframe 的左側(cè)和右側(cè)的邊距。

          scrolling 規(guī)定是否在 iframe 中顯示滾動條(yes、no、auto)。

          name 規(guī)定 iframe 的名稱。

          bordercolor 指定邊框顏色

          <iframe src ="/index.html" frameborder="0" bordercolor="red">

          <p>Your browser does not support iframes.</p>

          </iframe>


          關(guān)于框架集<frameset></frameset>中屬性cols rows分割方法理解

          <frameset cols="40%,2*,*"> 將窗口分為40%,40%,20%

          <frameset cols="100,200,*"> 將窗口分為100像素,200像素和剩下的700像素

          <frameset cols="100,*,*">    將100像素以外的窗口平均分配

          <frameset cols="*,*,*">     將窗口分為三等份

          <frameset rows="*,*,*"> 總共有三個按列排列的幀,每個幀占整個瀏覽器窗口的1/3

          <frameset cols="40%,*,*"> 總共有三個按行排列的幀,第一個幀占整個瀏覽器窗口的40%,剩下的空間平均分配給另外兩個幀

          <frameset rows="40%,*" cols="50%,*,200">

          以上"*"表示剩余部分

          總共有六個幀,先是在第一行中從左到右排列三個幀,然后在第二行中從左到右再排列三個幀,即兩行三列,

          所占空間依據(jù)rows和cols屬性的值,其中200的單位是像素

          屬性匯總:

          frameset(框架集)

          rows 它是將框架集劃分為上下型

          cols 它是將框架劃分為左右型

          border 是用于設(shè)置框架的邊框粗細(xì)

          frameborder 是用于設(shè)置是否顯示邊框, 取值:yes|no或1|0

          bordercolor 用于設(shè)置框架邊框的顏色

          frame(框架頁)

          noresize 是否可以調(diào)整小窗口的大小

          name 用于設(shè)置小窗口的名稱

          src 小窗口的url

          scroll 是否顯示滾動條 yes|no|auto

          實例: iframe滿屏方案

          、網(wǎng)絡(luò)加載

          DNS預(yù)加載

          通過dns-prefetch屬性可以讓瀏覽器提前解析資源或接口對應(yīng)的服務(wù)器IP地址,避免在請求中發(fā)起DNS解析請求,節(jié)省請求時間

          資源預(yù)加載

          利用preload,prefetch,preconnect屬性我們可以在<head>內(nèi)部聲明式的書寫資源獲取請求,提前加載非首屏但又較重要的資源,避免在滿足首屏優(yōu)先加載的情況下,反而忽略了其他次重要資源的加載

          使用CDN資源,并且注意http緩存頭的設(shè)定

          HTTP緩存包括強(qiáng)緩存(Cache-Control,Expire)和協(xié)議緩存(Last-modified, Etag)兩種。其中,協(xié)議緩存資源每次都會向服務(wù)端發(fā)送請求來判斷資源是否過期,未過期則返回304,在網(wǎng)絡(luò)極其卡頓的情況下,這個304請求有可能堵塞整個頁面的資源加載

          對JS資源按照模塊和首屏需求進(jìn)行優(yōu)先加載,不需要的模塊按需加載

          移動端的網(wǎng)絡(luò)資源有限,為了盡快讓用戶看到有意義的首屏,我們需要盡可能的保持首屏需要加載的資源越小越好

          內(nèi)聯(lián)首屏關(guān)鍵CSS

          將首屏關(guān)鍵樣式內(nèi)聯(lián)至頁面中,保證最快速度看到帶有基本樣式的首屏,避免用戶端出現(xiàn)較長時間的白屏?xí)r間

          內(nèi)聯(lián)關(guān)鍵JS代碼

          內(nèi)聯(lián)關(guān)鍵代碼也是為了讓用戶第一時間感受到頁面已經(jīng)加載成功,但是內(nèi)聯(lián)代碼不能將所有代碼都內(nèi)聯(lián)至HTML中,因為這些代碼每次都會伴隨HTML下載下來,加大HTML文件的體積,也無法讓代碼在不同的網(wǎng)頁間提供復(fù)用的功能

          檢查服務(wù)端下發(fā)的資源是否使用GZIP壓縮

          GZIP對于文本資源(JS,CSS文件)有較高的壓縮效率,通常可以減少70%的體積

          避免資源的重定向

          增大加載時間,用戶體驗較差

          異步延遲加載第三方非關(guān)鍵代碼

          移動端網(wǎng)絡(luò)資源有限,為了讓這些不重要的代碼不影響首屏渲染,可以延遲一小段時間再加載

          合理的使用本地緩存,避免把不必要的數(shù)據(jù)全部放到COOKIE當(dāng)中

          每一次AJAX請求都會將當(dāng)前域名中的所有COOKIE值傳遞給服務(wù)端

          使用service worker,增加頁面的離線體驗和頁面的加載體驗

          頁面發(fā)送請求時,會先經(jīng)過SW的腳本,這樣可以讓我們通過編程的方式來制定我們需要緩存的文件,同時,緩存在service worker中的文件,可以讓用戶離線訪問

          在條件允許的情況下,可以使用HTTP2.0協(xié)議

          HTTP2.0協(xié)議可以提升網(wǎng)絡(luò)鏈路的復(fù)用性,提升資源加載效率

          二、HTML

          注重標(biāo)簽的語義化,保持用最簡潔的標(biāo)簽完成所需的功能

          標(biāo)簽的語義化提高代碼的可維護(hù)性,在頁面加載CSS失敗時也不至于很難看。同時,需要保持標(biāo)簽最小化,無意義的標(biāo)簽可以利用偽類表示

          CSS放到head中,JS到body尾部,JS,CSS都需要放在head中時,JS放在前面

          1. CSS會阻塞頁面的渲染,不阻塞DOM的解析;
          2. JS會阻塞DOM的解析,但是,瀏覽器會預(yù)先下載資源;
          3. 瀏覽器在遇到script標(biāo)簽時會觸發(fā)頁面渲染,如果這時CSS尚未加載完成,頁面將會等待CSS加載完成后在執(zhí)行

          HTML代碼壓縮,去除注釋、空白符

          減少網(wǎng)絡(luò)傳輸?shù)奈募笮?/p>

          盡量避免使用iframe

          iframe 內(nèi)資源的下載進(jìn)程會阻塞父頁面靜態(tài)資源的下載與 CSS 及 HTML DOM 的解析

          三、CSS

          壓縮CSS代碼,排除重復(fù)的CSS樣式

          減少網(wǎng)絡(luò)傳輸?shù)奈募笮?/p>

          根據(jù)組件打包CSS文件

          按需加載,減少網(wǎng)絡(luò)傳輸?shù)奈募笮?/p>

          避免使用CSS的@import語法

          可能阻塞頁面的加載

          使用Sass、Stylus、Less等預(yù)編譯語言時,編碼CSS嵌套不超過3層

          提高解析css的效率

          使用autoprefixer給CSS代碼自動增加前綴

          自動幫助我們添加瀏覽器頭,避免意想不到的瀏覽器兼容性問題

          盡量少使用css通配符,特別是多層嵌套的末尾使用通配符

          CSS的解析過程是從右往左逆向匹配,使用CSS通配符會增加解析的計算量

          不要濫用高消耗的樣式

          box-shadow、border-radius、filter這些屬性繪制前都需要瀏覽器進(jìn)行大量的計算

          四、動畫

          簡單動畫盡量只使用transform、opacity、transition等屬性完成

          width、height、top、left、right、bottom、margin等屬性的變更都會觸發(fā)頁面的重排,在移動端環(huán)境中頻繁的重排會導(dǎo)致動畫卡頓

          較復(fù)雜動畫可以使用css幀動畫

          在移動端兼容性好、性能好、更具有可操控性

          js動畫不要使用setTimeout、setInterval,使用requestAnimationFrame

          setTimeout和setInterval在動畫執(zhí)行存在性能問題,且無法準(zhǔn)確的控制幀數(shù)

          對將要使用動畫的部分,開啟GPU硬件加速(注意不要濫用)

          對開啟GPU硬件加速的標(biāo)簽,瀏覽器將把它提升到一個單獨的圖層,并通過GPU進(jìn)行預(yù)處理

          使用will-change屬性(注意不要濫用)

          will-change的作用告訴瀏覽器哪些屬性將要變化,讓他可以提前做好準(zhǔn)備

          五、JavaScript

          JS代碼壓縮,代碼分模塊加載

          減少代碼大小,根據(jù)頁面需求按需加載資源,最下化用戶需要加載的資源大小加快頁面展示的速度

          處理長列表或者大量DOM元素時,不要綁定太多的事件監(jiān)聽函數(shù)

          節(jié)省內(nèi)存和減少監(jiān)聽事件的注冊

          利用throttle和debounce函數(shù)去處理頻發(fā)觸發(fā),但是不需要頻發(fā)執(zhí)行的函數(shù),例如scroll,touchmove

          避免頻繁的無效的操作,避免頁面的卡頓

          利用setTimeout代替setInterval

          setInterval可能存在指令堆積的問題,導(dǎo)致頁面卡頓

          盡量避免大批量的重排重繪

          頁面的重排重繪很耗性能,尤其是重排

          六、圖片

          使用工具壓縮圖片

          移動端網(wǎng)絡(luò)條件有限,圖片越大加載時間越長,合理使用工具壓縮圖片,可以兼顧圖片質(zhì)量和圖片大小

          使用較高壓縮比格式的文件webp

          減少文件傳輸?shù)拇笮。苊獬霈F(xiàn)圖片尺寸使用不當(dāng)?shù)膯栴},小icon用大圖

          使用雪碧圖

          減少http請求數(shù),不過當(dāng)我們的http協(xié)議升級至1.1,2.0之后,雪碧圖減少http請求數(shù)的效果并不明顯

          圖片懶加載

          避免用戶提前加載過多無用的資源,浪費用戶流量

          根據(jù)不同的屏幕像素比加載不同尺寸的圖片

          在較大像素比的屏幕下加載小尺寸的圖片,圖片會模糊;在較小像素比的屏幕下加載大尺寸的圖片,會浪費用戶流量和cdn流量

          小于2KB的圖片可以嘗試使用base64格式去替換

          將圖片轉(zhuǎn)換成base64格式可以減少http請求數(shù)量,但是,不能對較大尺寸的圖片使用base64格式,因為base64算法會提升三分之一的文件大小

          七、字體

          壓縮字庫大小,避免加載過多無用的資源,推薦工具字蛛

          我們只需要頁面需要的字體文件即可,不需要浪費流量加載用戶不需要的資源

          優(yōu)化字體的展示策略

          使用font-display屬性可以避免在字體加載過程中,不顯示文字的問題

          當(dāng)特殊文字量較少且內(nèi)容固定時,可以嘗試使用圖片代替

          快速完美的還原界面

          八、其他

          對于整個頁面資源需求量較大時,可以使用骨架屏或者增加loading效果

          加強(qiáng)用戶體驗,加速首屏體驗,通過有意義的ui讓用戶提前得到反饋

          lighthouse性能跑分

          Google推出的網(wǎng)頁性能跑分工具,可以較全面的了解網(wǎng)站的性能

          通過Chrome的控制面板code coverage部分,找到未使用代碼的比例

          幫助我們快速找到首屏未使用的代碼

          通過構(gòu)建工具中使用Scope Hoisting

          這里以webpack舉例,使用Scope Hoisting后打包的文件,文件體積更小,代碼運行時創(chuàng)建的函數(shù)作用域更少,提升JS的啟動速度

          參考

          • web-performance-made-easy
          • rail模型講解
          • Yahoo性能優(yōu)化
          • Google PageSpeed Insights規(guī)則
          • Google IO web性能優(yōu)化筆記
          • 14 Rules for Faster-Loading Web Sites
          • 2018前端性能優(yōu)化清單
          • 2017前端性能優(yōu)化清單
          • 美團(tuán)感官性能優(yōu)化
          • 前端性能優(yōu)化相關(guān)
          • PWA簡介
          • css性能優(yōu)化

          關(guān)于我

          我是一個莫得感情的代碼搬運工,每周會更新1至2篇前端相關(guān)的文章,有興趣的老鐵可以掃描下面的二維碼關(guān)注或者直接微信搜索前端補(bǔ)習(xí)班關(guān)注。

          精通前端很難,讓我們來一起補(bǔ)補(bǔ)課吧!


          主站蜘蛛池模板: 无码人妻aⅴ一区二区三区有奶水| 中文字幕国产一区| 精品一区二区三区东京热| 蜜臀AV在线播放一区二区三区| 在线精品日韩一区二区三区| 久久久久人妻精品一区蜜桃| 色多多免费视频观看区一区| 无码国产精品一区二区免费式影视 | 精品一区二区ww| 日韩一本之道一区中文字幕| 国产一区二区三区在线电影| 欧美一区内射最近更新| 亚洲AV成人一区二区三区AV| 国产精品主播一区二区| 日本在线视频一区| 日韩高清一区二区| 国内精品视频一区二区三区| 亚洲第一区视频在线观看| 国模私拍一区二区三区| 精品乱子伦一区二区三区 | 人妻AV一区二区三区精品 | 国产色情一区二区三区在线播放| 国产嫖妓一区二区三区无码| 精品国产一区二区三区| 国产精品一区在线麻豆| 无码囯产精品一区二区免费| 久久国产精品一区二区| 99精品国产高清一区二区三区| 日韩精品一区二区三区在线观看| 波多野结衣一区二区三区88| 国模精品视频一区二区三区| 亚洲午夜精品一区二区麻豆| 精品福利视频一区二区三区| 国产精品夜色一区二区三区| 少妇特黄A一区二区三区| 精品无码一区二区三区爱欲| 日韩精品一区二区三区中文| 色欲精品国产一区二区三区AV| 人妻无码第一区二区三区| 亚洲国产高清在线精品一区| 欧洲无码一区二区三区在线观看|