Document type definition 文檔類型定義css
DOCTYPE 就是用來聲明文檔類型和DTD規範的,告訴瀏覽器按照什麼規範解析html
html生成Dom Tree,css生成rule Tree,而後二者結合生成render Tree.html5
而後通過layout的計算肯定元素大小以及在頁面中的位置,以後就開始在頁面上渲染,呈現頁面。瀏覽器
頁面每一個元素都有本身的大小和位置,當改變大小和位置時,瀏覽器都須要通過從新計算,再次把元素放到對應的位置。重排必定會觸發重畫。dom
更新一些樣式好比顏色,並不影響頁面佈局,就叫作重畫,重畫不必定觸發迴流。佈局
一個線程-js解析,一個線程-ui渲染性能
但js又是單線程的因此,你執行js解析就不會進行ui渲染,你ui渲染就不會執行js解析,因此這兩個就會相互影響。測試
css性能會讓js變慢,若是頻繁觸發迴流和重繪會影響js性能。優化
漸進加強(Progressive Enhancement):一開始就針對低版本瀏覽器進行構建頁面,完成基本的功能,而後再針對高級瀏覽器進行效果、交互、追加功能達到更好的體驗。 優雅降級(Graceful Degradation):一開始就構建站點的完整功能,而後針對瀏覽器測試和修復。好比一開始使用 CSS3 的特性構建了一個應用,而後逐步針對各大瀏覽器進行 hack 使其能夠在低版本瀏覽器上正常瀏覽。動畫