前端現在技術很多,學習的內容也是很多,不過最最重要的部分還是HTML,CSS,JavaScript這三個。源碼時代前端培訓班主要內容包括:HTML&CSS:對Web標準的理解、瀏覽器內核差異、兼容性、hack、CSS基本功:布局、盒子模型、選擇器優先級及使用、documentflow(文檔流)、清除浮動,hasLayout和塊格式化上下文(block-formattincontexts)、reflow&repaint、硬件加速、HTML5(離線&存儲,多媒體,WebSockets,WebWorkers,HistoryAPI2D/3D繪圖)、CSS3、Flexbox、CSS預編譯、動畫、響應式布局、移動端開發JavaScript:數據類型、面向對象、數組、DOM、BOM、Function、繼承、閉包、內置對象、作用域、跨域、原型鏈、、JSON、XMLHttpRequest、RegExp、模塊化、內存泄漏、事件機制、異步裝載回調、模板引擎、前端MVC、NodeJS、JSON、ajax、框架、算法等其他(前端工程化\代碼規范\預編譯\前端框架\安全\優化\重構):HTTP、ES6、ES7、React、VUE、Angular、Backbone、Underscore、Flux、WebComponent、handlebars、Gulp/Grunt、Git、CDN、WEB安全、性能優化、項目重構、團隊協作、SEO、UED、技術架構、快速學習能力
瀏覽器解析html文檔是自上而下的,如果將CSS放在底部,頁面可以逐步呈現,但在CSS下載并解析完畢后,已經呈現的文字和圖片就要需要根據新的樣式重繪,這是一種不好的用戶體驗。
本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
css文件應該放在HTML頂部的head中。
why?
link標簽里面的href(HyperText reference)屬性表示超文本引用,當CSS使用href引用,瀏覽器會識別該文檔為CSS,并行下載,不會停止對當前文檔的加載,在加載html生成DOM tree的時候,就可以同時對DOM tree進行渲染,這樣可以防止閃跳,白屏或者布局混亂。
最理想的情況,我們希望瀏覽器逐漸的渲染下載好的CSS,將頁面逐漸的展現給用戶。但是瀏覽器為了避免樣式變化時重新渲染繪制頁面元素,會阻塞內容逐步呈現,瀏覽器等待所有樣式加載完成之后才一次性渲染呈現頁面。
CSS文件如果放置底部,瀏覽器阻止內容逐步呈現,瀏覽器在等待最后一個css文件下載完成的過程中,就出現了“白屏”(新打開連接時為白屏,爾后先出現文字,圖片,樣式最后出現)。這點非常嚴重,因為在網速非常慢的情況下,css下載時間比較長,這樣就給用戶帶來“白屏”的時間自然也就很長了,用戶體驗非常差。
CSS文件放在頂部一方面是因為放置順序決定了下載的優先級,更關鍵的是瀏覽器的渲染機制。
css在加載過程中不會影響到DOM樹的生成,但是會影響到Render樹的生成,進而影響到layout,所以一般來說,style的link標簽需要盡量放在head里面,因為在解析DOM樹的時候是自上而下的,而css樣式又是通過異步加載的,這樣的話,解析DOM樹下的body節點和加載css樣式能盡可能的并行,加快Render樹的生成的速度。
將CSS放在底部,頁面可以逐步呈現,但在CSS下載并解析完畢后,已經呈現的文字和圖片就要需要根據新的樣式重繪,這是一種不好的用戶體驗。
CSS是層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。CSS為HTML標記語言提供了一種樣式描述,定義了其中元素的顯示方式。CSS在Web設計領域是一個突破。利用它可以實現修改一個小的樣式更新與之相關的所有頁面元素。CSS具有以下特點:
1、豐富的樣式定義CSS提供了豐富的文檔樣式外觀,以及設置文本和背景屬性的能力;允許為任何元素創建邊框,以及元素邊框與其他元素間的距離,以及元素邊框與元素內容間的距離;允許隨意改變文本的大小寫方式、修飾方式以及其他頁面效果。
2、易于使用和修改CSS可以將樣式定義在HTML元素的style屬性中,也可以將其定義在HTML文檔的header部分,也可以將樣式聲明在一個專門的CSS文件中,以供HTML頁面引用。總之,CSS樣式表可以將所有的樣式聲明統一存放,進行統一管理。
3、多頁面應用CSS樣式表可以單獨存放在一個CSS文件中,這樣我們就可以在多個頁面中使用同一個CSS樣式表。CSS樣式表理論上不屬于任何頁面文件,在任何頁面文件中都可以將其引用。這樣就可以實現多個頁面風格的統一。
4、層疊層疊就是對一個元素多次設置同一個樣式,這將使用最后一次設置的屬性值。例如對一個站點中的多個頁面使用了同一套CSS樣式表,而某些頁面中的某些元素想使用其他樣式,就可以針對這些樣式單獨定義一個樣式表應用到頁面中。
5、頁面壓縮在使用HTML定義頁面效果的網站中,往往需要大量或重復的表格和font元素形成各種規格的文字樣式,這樣做的后果就是會產生大量的HTML標簽,從而使頁面文件的大小增加。而將樣式的聲明單獨放到CSS樣式表中,可以大大的減小頁面的體積,這樣在加載頁面時使用的時間也會大大的減少。另外,CSS樣式表的復用更大程序的縮減了頁面的體積,減少下載的時間。css的工作原理CSS是一種定義樣式結構如字體、顏色、位置等的語言,被用于描述網頁上的信息格式化和現實的方式。CSS樣式可以直接存儲于HTML網頁或者單獨的樣式單文件。無論哪一種方式,樣式單包含將樣式應用到指定類型的元素的規則。外部使用時,樣式單規則被放置在一個帶有文件擴展名_css的外部樣式單文檔中。樣式規則是可應用于網頁中元素,如文本段落或鏈接的格式化指令。樣式規則由一個或多個樣式屬性及其值組成。內部樣式單直接放在網頁中,外部樣式單保存在獨立的文檔中,網頁通過一個特殊標簽鏈接外部樣式單。名稱CSS中的“層疊(cascading)”表示樣式單規則應用于HTML文檔元素的方式。具體地說,CSS樣式單中的樣式形成一個層次結構,更具體的樣式覆蓋通用樣式。樣式規則的優先級由CSS根據這個層次結構決定,從而實現級聯效果。
css的選擇器的分類不包括“超文本標記選擇器”。
css的選擇器包括類選擇器、標簽選擇器、ID選擇器、偽類選擇器等等。
類選擇器,比如class類型 class = "nav"的話,那么css對應.nav{};
標簽選擇器,比如body input 就是直接對應 body{} input{};
ID選擇器,比如 id="name",那么css對應 #name{};
偽類、偽對象:如a:link,a:hover,a:visited等。