前端 html結合css-1篇

之前一些章節介紹了htmlcss單獨的一些基礎知識.大部分都是書上或者是其他教材上不會明確提及到的一些東西.

其實學習前端是一門想比較其他語言學習起來更加枯燥和繁瑣的事情.比如我當初開始學習java的時候,有個eclipse,運行執行,寫什麼都很有勁的感覺.IO.net組件,那些玩意雖然很繞,但總會去總結,哪個api速度快,那個api用起來方便.但寫來寫去還脫不出那個天地.那時候估計還小,還不懂什麼是設計模式,只知道怎麼編寫代碼,自己看起來舒服.莫名其妙的學會了遞歸,學會了單例和工廠,只是當時還不知道.

後來看過python的教程,會寫些簡單的py,看過php,便又能寫php.只是沒了當初學習java的衝勁跟感悟.一直在用些自己常用的思維去編寫代碼.

直到自己開始正式的覺得自己是個前端.很多認爲前端比較難,,沒錯,前端需要掌握的語言籠統來說就有3,html,css,js.變通起來,還不知道有多少變化.

實現一種效果,

有些人會說,我僅用html就可以實現.

一般的人說,我得用html+css.

還有人說,除了htmlcss以外,我還得用上js

以上的3句話,並沒有褒貶的意思,只是證明了前端製作是三種語言混合的產物.三種語言用到熟悉,至少也得1,到精通就不知道啥時候了.主要還是看勤奮.

我是個有時候比較懶散的人,不想在博客裏面寫太多的基礎知識.所以大家看我寫的東西以外,還需要看些別的資料書.多看看別人的代碼是怎麼寫的.

今天說說htmlcss的組合吧.

.關於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/

前端還有些人.比如周愛民,阮一峯等等,我就不一一去列舉了,有興趣的時候,百度一些知識點都是他們撰文的.

多看看他們的博客,想想他們是怎麼做,怎麼去學的.不要盲目的叫大神.你們要想的是,比我們,他們走的更遠.

說的太雜了,大家看看吧,之後的博文會教大家怎麼從小組建代碼.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章