本人是後端開發者,前端除了CSS不過關 其他都還不錯,請問大家是怎麼學習前端布局的,有沒有速成技巧呢?


對編程初學者來說js才比較難,但是後端入門前端最大的困難就是css。

語言是相通的,會java的,js看個文檔找找domapi就能開始寫了,但是css只能靠熟能生巧,一大堆屬性要記,很多種布局要練,跟編程初學者比起來沒什麼優勢。


從0開始入行的覺得CSS比JS簡單得多。

後端轉前端的覺得CSS比JS難得多。


個人的一些看法:

1、CSS屬性確實非常繁多,即便是老手在不查閱文檔的情況下在做一些細節效果要一遍bug free也是不容易的,且部分單詞屬性語義由印刷業直譯過來也並不直白,初學時一些分別對行內元素和塊級元素生效的屬性傻傻分不清楚。

2、由於之前瀏覽器的歷史包袱重,早期存在一些hack技巧,這些「黑科技」的濫用一定程度上也加重了閱讀和學習他人實踐的心智負擔。例如在以前缺失flex布局時,存在用table,float,margin負值等違背設計初衷做一些效果的情況,這加劇了上面提到的語義的問題。

3、也是之前看過的一個回答上提到過的,就是CSS屬性彼此不正交,這和正常的編程語言邏輯書寫不一,屬性不正交在學習上會帶來什麼難處?有句話叫「牽一髮而動全身」...


Css為什麼這麼難學?

因為css其實本身就比較難,且難易程度不比js差,在很多大公司,分工明確,責任細化,單純的用css寫靜態頁面的前端開發,待遇不必其他前端開發低。

那css到底難在哪裡呢,我個人認為是一下幾點:

1:瀏覽器兼容,瀏覽器兼容一直是前端開發頭疼的事情,各種版本型號的瀏覽器,相互兼容,調試,往往都會讓很多人心力憔悴。

2:移動端適配,移動端的高速發展,各種屏幕大小的適配,以及不同系統的兼容問題,以及市面上各種眼花繚亂的適配方案,讓我們頭暈目眩,在加上less,sass,scss的出現,多了些許邏輯在裡面,讓我們寫css代碼如同寫js。

3:前端布局的設計,相比較其他難點,前端布局稍微簡單點,但是也是我們比較頭疼的,都說萬事開頭難,一個前端項目的開始,都是從布局開始的,一開始的布局設計不合理,產生的問題往往影響貫穿到整個項目的始末,所以前端的布局設計也是一大難點,需要我們有足夠豐富的css代碼經驗,才能設計出合理的布局。

4:前後端交互後頁面與數據的耦合性,一個好的css靜態頁面,不僅僅體現在美觀,還體現在是否能讓我們在前後端交互階段,合理邊便捷的把數據綁定到頁面上來,所以前後端交互後頁面與數據的耦合性也是很重要的,也需要大量的經驗才能寫出比較完美的且能為我們前後端共同使用的漂亮的頁面。

5:css的奇淫技巧,這個點就比較有意思了,屬於css的純難點,難度不亞於我們用js寫一個複雜的遊戲,為什麼這麼難,就是因為我們根本想不到還有這些奇淫技巧,很多工作多年的前端開發,都不能掌握這些技能。

作者:君墨學致

鏈接:https://www.zhihu.com/question/424471207/answer/1510757299來源:知乎著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。


因為目前版本的原生CSS的語法是設計給網頁設計師用的,而不是寫慣了處理數據邏輯的程序猿。讓老夫來打通你的任督二脈,手摸手教你學CSS,戳→ https://www.zhihu.com/answer/1220496270


首先需要有藝術細胞。

然後要換思路。

寫代碼基本上是加減法。

寫css就不是那種思路了。

而是各種怪異。

好吧,其實我也不會。

如果你真要學的話,建議先了解一下photoshop的圖層的概念,還有蒙版這類的。

然後研究成品吧。看看成品都是咋實現的。

另外按f12看css的盒子圖,點點對號看效果。

我建議不要強求。


不正交,沒有很強邏輯,知道就是知道,不知道就是不知道…


確實很難,因為相對於JS,CSS更難建立起自己的體系……

Ps.剛畢業的時候我還覺得自己css寫得不錯,現在連碰都不想碰,讓我安安心心寫邏輯去吧……


謝邀~

對比JavaScript,如果你覺得CSS難,我估計你應該是有一定的後台開發語言編程基礎,然後再來學習CSS的。

的確,CSS雖然也算是一門語言,但寫CSS的時候,真的毫無編程體驗可言。沒有什麼變數,邏輯運算,演算法和數據結構等。(雖然類似sass的工具可以緩解這些痛點,但跟實際編程還是差太遠了)

它更像是我們開發過程中的配置文件,區別就在於CSS的配置項太多而又太靈活了。

假如讓100個前端工程師去定製一套知乎網頁暗黑主題,可能會有100種完全不同的寫法。

但,其實就是這種靈活性,讓CSS幾乎無所不能,界面原型你隨便畫,只要你能畫的出來,用CSS就能給你渲染出來。畫不出來的也行,比如你想讓頁面來個托馬斯迴旋,沒關係,CSS一樣滿足你。

CSS的強大並不是因為這門語言本身強大,而是瀏覽器渲染引擎強大,我們寫CSS只不過是在用寫配置文件的方式去調用瀏覽器的介面罷了。

所以,如果作為程序員的你,編程思維已經根深蒂固,不適應CSS這種開發習慣的話,不妨在寫CSS的時候,想像一下瀏覽器引擎是怎樣根據你的樣式表來渲染頁面的,說白了就是嘗試去理解CSS的基本原理,這樣對你來說可能更有挑戰,也更容易接受。

但,我個人建議學東西,還是先上手,再去了解原理。前期還是得多動手寫寫,在摸索中不斷積累,冷板凳還是要坐的。


css 樣式很靈活,同一種布局能有n 種寫法,初學者很容易混淆。先學習一下樣式的基本概念,了解各種樣式的作用,然後模仿一個簡單的網頁,純自己手寫出一個一模一樣的。不要百度如何寫,而是反覆揣摩css文檔,慢慢參透。只看不寫不可能學會。


因為css有些毫無理由和自相矛盾的地方,如果不知道的話, 怎麼寫怎麼不對。知道了就好了。


因為前端現在趨勢是發聲人為一些技術還算可以的人。 所謂技術還算可以。是指哪一批呢。 絕不是css好js差的。 而是反過來。 一般很多人技術上升到一定程度之後基本都在寫架構最少也是寫邏輯。 很少碰樣式。 樣式基本都丟給手下人去搞了。 所以就導致發聲人css久而久之就疏忽了。 直白說很多人說css差一部分是因為兼容。一部分是因為不屑於寫。還有一部分是技術達到一定程度後懶得寫


沒有速成 這玩意就得多練習 , 多仿照一些網站去做練習就會的


用chrome瀏覽器,遇到不懂的,多按一下F12研究一下,按多幾次,很快就覺得不難了。


寫的少,scss了解一下,一把梭


css看著容易,這要設置幾個屬性就可以實現複雜的功能

但是其中的組合、兼容性,這些才是導致css難的地方


難啥呀,就是寫的少了。

以前IE6、IE7踩那麼多坑,而這些坑是對於現在的前端人員連指導意義都沒有。

現在只要學一套就夠了,而且還那麼多工具、框架拿來就用。

css我的心得是:先用html做骨頭,css是皮肉,js是行為。

看到效果圖先劃分布局,整理出小組織,寫好骨頭。只要骨頭結構對了,再看《css揭秘》一書,養成代碼要dry的習慣。結構不對調樣式是很吃力的。

然後多寫就成了。


CSS功能:樣式的控制,讓靜態頁面更加豐富多彩(美化樣式)

所以CSS不需要太多邏輯思維,數學知識,純粹靠理解能力和動手能力,自己獨立做2、3個電商首頁網站的靜態頁面就差不多可以進一步學習JS了,比如:美團官網、小米官網這些比較典型和簡單些的

學習計算機,最需要自己動腦子思考,獨立完成,才能查漏補缺,在急切想完成某個模塊、某個交互時,真自己琢磨出來或者請教人做出來的過程才有成就感和使人印象深刻,理解透徹,畢竟學以致用。

所以你覺得難,是因為你還沒進入前端這個門檻,沒理解透徹。別放棄,加油加油!


前端老人,CSS真的挺難,從IE時代到現在,一直很難

那些想都不想脫口而出CSS很容易的,就像寫Java的說JavaScript很容易一樣

寫代碼這事,從來就沒有捷徑,只有多寫多理解


後端學CSS確實會感覺比較難,神奇的CSS和其他語言不一樣,這不是一種看Api文檔就能寫代碼的語言 ,想要學會,可以先跟著優質視頻過一遍基本的用法,只看書的話,CSS這種東西太抽象了,跟著視頻動手做會更有成就感,了解基本的布局與樣式的寫法再多練習練習,基本上CSS就算是入門了。


推薦閱讀:
相关文章