網站建設前端開發如何應對瀏覽器的重繪和重排
2017.02.09
wangzhanjianshezhongguanyujishuwentizhuyaokeyifenxingliangbufen,yibandoushiyouzhuanyedejishurenyuanlaifuzewancheng,qizhongyibufenshiwangzhanhoutaidejishukaifa,zhuyaofuzedeshiwangzhandehoutaixitongkaifawenti;另一部分就是網站的前端技術開發,主要負責的是網頁前端Web開發的de問wen題ti。這zhe兩liang大da塊kuai兒er技ji術shu問wen題ti解jie決jue的de好hao否fou是shi企qi業ye能neng否fou獲huo得de一yi個ge優you秀xiu網wang站zhan的de關guan鍵jian,本ben文wen中zhong分fen形xing科ke技ji主zhu要yao為wei大da家jia介jie紹shao的de是shi其qi中zhong的de前qian端duan開kai發fa技ji術shu。
首先,我們先來分析一下什麼是前端開發
前端開發又稱Web前qian端duan開kai發fa技ji術shu,以yi前qian叫jiao做zuo網wang頁ye製zhi作zuo,其qi主zhu要yao職zhi能neng就jiu是shi把ba網wang站zhan的de界jie麵mian更geng好hao地di呈cheng現xian給gei用yong戶hu。前qian端duan開kai發fa工gong程cheng師shi通tong過guo運yun用yong專zhuan門men的de技ji術shu軟ruan件jian讓rang企qi業ye網wang站zhan互hu聯lian網wang化hua,使shi靜jing態tai的de頁ye麵mian動dong態tai化hua。Web前端開發涵蓋的知識麵非常廣,既有具體的技術,又有抽象的理念。
其次,介紹一下前端開發技術人員需要掌握的專業技能
隨著互聯網技術的發展,前端開發技術變更越來越成熟,市場對於前端開發技術人員的專業技能要求也越來越高,具體的技能主要包括:1、掌握HTML,2、服務器端腳本語言,3、CSS和JavaScript等。
在了解以上的重要知識後,分形科技小編再為大家介紹一下網站建設前端開發如何應對瀏覽器的重繪和重排。瀏覽器重繪即repaint,瀏覽器的重排即reflows。重繪(repaint)是指一個元素外觀的改變所觸發的瀏覽器行為,瀏覽器會根據元素的新屬性進行重新繪製,使網頁元素呈現出新的外觀。如改變vidibility、outline、背景色等屬性。特點:重繪不會帶來網頁的重新布局,並不一定伴隨重排。重排(reflows)shizhiwangyezhongyuansugengmingxiandeyizhonggaibian,keyilijieweixuanranshujinxingzhongxinjisuan。yinweiliulanqizhongpaibijiaofuza,suoyi,zaizhelifenxingkejizhongdianyaojieshaodeshiliulanqizhongpaidewenti。
下麵是分形科技為大家總結的一些常見可以觸發重排的操作(不同的瀏覽器的情況很有一些不同):
1、DOM(文檔對象模型)元素的幾何屬性發生變化時
當網頁中DOM元素的幾何屬性變化時,渲染樹中的相關節點就會失效,瀏覽器會根據DOM元素的變化重建構建渲染樹中失效的節點。隨之瑞來的就是重新繪製被重排的頁麵。特點:瀏覽器重排一定會引起瀏覽器的重繪。
2、瀏覽器引擎因獲取某些屬性而觸發重排。
當(dang)瀏(liu)覽(lan)器(qi)引(yin)擎(qing)獲(huo)取(qu)網(wang)頁(ye)中(zhong)一(yi)些(xie)屬(shu)性(xing)時(shi),瀏(liu)覽(lan)器(qi)為(wei)取(qu)得(de)正(zheng)確(que)的(de)值(zhi)也(ye)會(hui)觸(chu)發(fa)重(zhong)排(pai),所(suo)以(yi)我(wo)們(men)在(zai)在(zai)多(duo)次(ci)使(shi)用(yong)這(zhe)些(xie)屬(shu)性(xing)值(zhi)時(shi)應(ying)進(jin)行(xing)緩(huan)存(cun)。網(wang)站(zhan)中(zhong)可(ke)修(xiu)改(gai)屬(shu)性(xing)包(bao)括(kuo):offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight、getComputedStyle() (currentStyle in IE)。
3、改變元素的樣式、調整窗口大小觸發重排
網站建設前端開發中,改變網頁中元元素的一些樣式,或是調整瀏覽器窗口大小都會觸發瀏覽器重排。避免方法:將網頁中需要多次重排的元素的position屬性設為absolute或fixed,這樣此元素就脫離了文檔流,不會影響到其他元素。
最後要提醒大家的是想要做好網站建設的前端開發就必須要在掌握專業技術的基礎上重視實踐的積累。
首先,我們先來分析一下什麼是前端開發
前端開發又稱Web前qian端duan開kai發fa技ji術shu,以yi前qian叫jiao做zuo網wang頁ye製zhi作zuo,其qi主zhu要yao職zhi能neng就jiu是shi把ba網wang站zhan的de界jie麵mian更geng好hao地di呈cheng現xian給gei用yong戶hu。前qian端duan開kai發fa工gong程cheng師shi通tong過guo運yun用yong專zhuan門men的de技ji術shu軟ruan件jian讓rang企qi業ye網wang站zhan互hu聯lian網wang化hua,使shi靜jing態tai的de頁ye麵mian動dong態tai化hua。Web前端開發涵蓋的知識麵非常廣,既有具體的技術,又有抽象的理念。
其次,介紹一下前端開發技術人員需要掌握的專業技能
隨著互聯網技術的發展,前端開發技術變更越來越成熟,市場對於前端開發技術人員的專業技能要求也越來越高,具體的技能主要包括:1、掌握HTML,2、服務器端腳本語言,3、CSS和JavaScript等。
在了解以上的重要知識後,分形科技小編再為大家介紹一下網站建設前端開發如何應對瀏覽器的重繪和重排。瀏覽器重繪即repaint,瀏覽器的重排即reflows。重繪(repaint)是指一個元素外觀的改變所觸發的瀏覽器行為,瀏覽器會根據元素的新屬性進行重新繪製,使網頁元素呈現出新的外觀。如改變vidibility、outline、背景色等屬性。特點:重繪不會帶來網頁的重新布局,並不一定伴隨重排。重排(reflows)shizhiwangyezhongyuansugengmingxiandeyizhonggaibian,keyilijieweixuanranshujinxingzhongxinjisuan。yinweiliulanqizhongpaibijiaofuza,suoyi,zaizhelifenxingkejizhongdianyaojieshaodeshiliulanqizhongpaidewenti。
下麵是分形科技為大家總結的一些常見可以觸發重排的操作(不同的瀏覽器的情況很有一些不同):
1、DOM(文檔對象模型)元素的幾何屬性發生變化時
當網頁中DOM元素的幾何屬性變化時,渲染樹中的相關節點就會失效,瀏覽器會根據DOM元素的變化重建構建渲染樹中失效的節點。隨之瑞來的就是重新繪製被重排的頁麵。特點:瀏覽器重排一定會引起瀏覽器的重繪。
2、瀏覽器引擎因獲取某些屬性而觸發重排。
當(dang)瀏(liu)覽(lan)器(qi)引(yin)擎(qing)獲(huo)取(qu)網(wang)頁(ye)中(zhong)一(yi)些(xie)屬(shu)性(xing)時(shi),瀏(liu)覽(lan)器(qi)為(wei)取(qu)得(de)正(zheng)確(que)的(de)值(zhi)也(ye)會(hui)觸(chu)發(fa)重(zhong)排(pai),所(suo)以(yi)我(wo)們(men)在(zai)在(zai)多(duo)次(ci)使(shi)用(yong)這(zhe)些(xie)屬(shu)性(xing)值(zhi)時(shi)應(ying)進(jin)行(xing)緩(huan)存(cun)。網(wang)站(zhan)中(zhong)可(ke)修(xiu)改(gai)屬(shu)性(xing)包(bao)括(kuo):offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight、getComputedStyle() (currentStyle in IE)。
3、改變元素的樣式、調整窗口大小觸發重排
網站建設前端開發中,改變網頁中元元素的一些樣式,或是調整瀏覽器窗口大小都會觸發瀏覽器重排。避免方法:將網頁中需要多次重排的元素的position屬性設為absolute或fixed,這樣此元素就脫離了文檔流,不會影響到其他元素。
最後要提醒大家的是想要做好網站建設的前端開發就必須要在掌握專業技術的基礎上重視實踐的積累。












