您好,登錄后才能下訂單哦!
之前一些章節介紹了html跟css單獨的一些基礎知識.大部分都是書上或者是其他教材上不會明確提及到的一些東西.
其實學習前端是一門想比較其他語言學習起來更加枯燥和繁瑣的事情.比如我當初開始學習java的時候,有個eclipse,運行執行,寫什么都很有勁的感覺.IO.net組件,那些玩意雖然很繞,但總會去總結,哪個api速度快,那個api用起來方便.但寫來寫去還脫不出那個天地.那時候估計還小,還不懂什么是設計模式,只知道怎么編寫代碼,自己看起來舒服.莫名其妙的學會了遞歸,學會了單例和工廠,只是當時還不知道.
后來看過python的教程,會寫些簡單的py,看過php,便又能寫php.只是沒了當初學習java的沖勁跟感悟.一直在用些自己常用的思維去編寫代碼.
直到自己開始正式的覺得自己是個前端.很多認為前端比較難,是,沒錯,前端需要掌握的語言籠統來說就有3種,html,css,js.變通起來,還不知道有多少變化.
實現一種效果,
有些人會說,”我僅用html就可以實現”.
一般的人說,”我得用html+css”.
還有人說,”除了html跟css以外,我還得用上js”
以上的3句話,并沒有褒貶的意思,只是證明了前端制作是三種語言混合的產物.三種語言用到熟悉,至少也得1年,到精通就不知道啥時候了.主要還是看勤奮.
我是個有時候比較懶散的人,不想在博客里面寫太多的基礎知識.所以大家看我寫的東西以外,還需要看些別的資料書.多看看別人的代碼是怎么寫的.
今天說說html跟css的組合吧.
一.關于dtd與瀏覽器細節差異.
之前在說html的時候呢,說到過dtd,這里我就不重復了,這里提到的重點是html4標準跟html5標準的差異.
總所周知,html5添加了一些標簽,導致了低版本的ie,或者其他瀏覽器在解析的時候出現問題.現代支持html5的瀏覽器,如果用了html4的聲明,但是文件里面寫了html5的標簽,大約也是會有解析上不一致.再加上本身各個瀏覽器的內核實現方式不一致,所以一些標簽的默認屬性不一致也是很正常的.
很久以前呢,有一群前端就已經發現了這個問題,并致力于解決這個問題.提出了一個方案,就是reset.css.差不多意思的還有normal.css(關鍵字有了,大家谷歌,百度均可.方案很多.)
原先前端內部的意見還是不夠統一的,認為,這玩意是沒有必要的.或者說是破壞了瀏覽器的初衷.
這玩意的原理其實很簡單.利用了css選擇器的優先級和屬性的繼承以及覆蓋機制.
Ps:這塊倒是真需要百度一下繼承機制.我這里就不多說.因為完整的闡述這個性質,估計還得寫個博文.
Css這塊的默認屬性解決了,html5的標簽呢?
這就需要html5.js,原理嘛,其實就是向文檔結構里面注冊html5的標簽,并給他們賦予默認的屬性.性質跟自定義標簽差不多.js這塊,現在我還不想說,下面會具體談js在前端技術中扮演的一個角色.大家可以自行參照.
還有個就是解決html5特性的js庫,modernizr.
那么這些個小玩意到底需要不需要呢?我覺得還是需要的好,為啥呢?
這就是前端最重要的模塊化思想.
二.模塊化
前端為什么發展到現在如此的繁榮,就是因為他開放.
再窮的小孩,小時候都玩過積木,沒玩過積木也玩過捏泥巴.在我看來,前端本身就是一個創造力大于體力的一個技術行業.前些日子幡然悔悟了兩個字,匠義.大抵是看過程序猿的修煉之道,從小工到專家.
總覺得這個翻譯有些中國化,專家這種東西在中國,大馬路上掉下一塊廣告牌,若新聞報道里面說是砸死的人里面有什么什么方面的專家,一定不要覺得這是巧合.好吧,我又黑了一把專家.
既然是小工,即便是轉行,同是技術行業,到后面便是匠.所以有能力的同學,還是建議你們看看原版的書,因為這塊呢,語境和語義,只可意會,翻譯出來,就少了那個味道.
扯遠了,拉回來.
開始寫代碼的時候,都是一步一步的敲出來,重復的東西多了,就把他們共用出來,這是常識.而重復的東西大多有共性,對這行東西進行總結歸納,就是設計模式.而把那些具有特定用途的代碼進行接口編程,這些就是模塊工具.
什么叫接口編程呢,就是我告訴怎么用我這個工具,告訴你api,寫個使用的demo,你需要關注的就是怎么用,是否得到你預期的結果,不需要在意我在這里面怎么做的.
如果有個工具說,幫你把你可能需要的所有技術都考慮了,我這里面有這么一個大個的工具集.這個玩意就是解決方案.你需要的就是把用這個工具集去解決大部分的問題.
這些都是思想性質的東西,我說了你可能現在不太明白.或者等你明白了對我說的有些別的意見.都沒關系.拿出來討論,見光,前端這個行業才能長足進步,造福于后來之人.
現在再去看reset.css之類的小玩意.你們覺得需要嗎?
我的答案是,看你做什么東西,要去完成什么目標.然后選擇你需要的這些模塊或者說是工具.
某一點上我倒是很同意,國內有些過于追求片面的高手定義,比如說精通js,有些單位單位的面試要求里面就寫到,精通js的原生api,然后要求,精通jquery的源代碼.諸如此類的一些事情.
從立意上中國的軟件開發似乎就低了國外一等.盲目的認為只有國外的軟件,才是最優秀的.而中國的開源軟件,有時候被噴,這不好,那不好,要么就是盲目崇拜,上來就是大神,能不能教我,比如老趙,有時去看看,我跟他也不認識.只是常去看看他的博客.
http://blog.zhaojie.me/
前端還有些人.比如周愛民,阮一峰等等,我就不一一去列舉了,有興趣的時候,百度一些知識點都是他們撰文的.
多看看他們的博客,想想他們是怎么做,怎么去學的.不要盲目的叫大神.你們要想的是,比我們,他們走的更遠.
說的太雜了,大家看看吧,之后的博文會教大家怎么從小組建代碼.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。