跳到主要內容
黯羽輕揚每天積累一點點

CSS2.1 規範有中文版了

免費2016-05-31#Front-End#Mind#FEers#前端圈

新人眼中的前端圈 - 前端早讀課

零。我

接觸前端差不多 2 年,今年 6 月份出廠(畢業),一個 用心寫博客 的前端新人。

最近完成了 CSS 2.1 spec 的翻譯,然後腆著臉用微博 @了好多和我不熟的前輩,再後來的事情就完全出乎我的意料了:前輩們熱情幫吼,支持鼓勵,前端同行的問候……

當時只是碰碰運氣,想通過前輩們的影響力,告诉大家"有中文課本了"。因為個人功力不夠,有些點理解得不準確不透徹(比如當時很難理解的 clearance),只有更多人仔細閱讀這份文檔,迭代修繕,它才可能變得更好。

如果文檔完備,我們這些新人入行就更容易,也會更合格

一。原因

想看,但沒有中文版,英文的一遍看不懂,所以先翻譯,一遍一遍看。

有了目標,一切都水到渠成:

平均日翻 500 行 HTML 源碼,需要 8 小時,每週翻 3-4 個 500 行,剩餘的 2-3 天挖舊東西,嘗試新東西,寫博客。這樣,2 個月完成。

投入大量精力完成了一個可複用的 snippet,相信您也會希望讓所有人都知道它,以節省大家的時間。

二。前端窘境

學習 CSS 應該從熟讀規範開始,而大多數像我這樣的新人都不是從規範開始接觸前端的。以至於:

面試的時候問個 css 的 position 屬性能刷掉一半的人這是啥情況……

其實這問題我本來打算的是可以順著一路扯到 normal flow、containing block、bfc、margin collapse,base line,writing mode,bidi,這樣一路問下去的,奈何第一個問題(親我真的只問了 position 有哪些取值和行為啊)就悲劇了……

(以上引自 winter 前輩的 談談面試與面試題

1 年前,第一次看到這段話時,覺得自己很不合格,當時我只知道 position: static|aboslute|relative|fixed(其實還有 inherit),對其用法知道一點,但似乎已經以入門級前端自居了,還妄想着加入大牛團隊學習進步。

如果在我入門時,能有前輩告诉我先熟讀規範,穩扎穩打,那該有多好?至少不會現在馬上出廠了,要去做所謂的"前端工程師",仔細一想還很心虛。

三。基本功

BFC、margin collapse 等等這些理論性的東西有用嗎?沒有用嗎?最初我也覺得"虛的"沒用,知道 BFC 的人就比我強麼?不知道這些就搞不定頁面佈局嗎?

慢慢發現功力深厚的前輩"總拿規範說事"(當然,只是玩笑話),並不是說不懂 BFC 就會被鄙視,但想走得更遠的話,那些欠下的東西早晚要還,何況作為前端,連課本都沒讀過,一提基礎就心虛,怎麼說得過去?

熟讀規範的好處是能對佈局知根知底,知道一些奇怪的表現背後的原因,而不是記得或者能找到解法。有一位擅長運用 CSS 規範搞定各種問題的前輩,我不說您也知道他是誰,對於這樣的人,我們多半只是敬佩,卻從未認真思考過他為什麼這麼厲害。其實如果您仔細讀過規範,就能發現有些錦囊一樣的神奇解法,在規範裡寫得清清楚楚,他只是讀得熟想得多而已。

術業有專攻,作為前端,熟讀規範絕對是最基本要求。

四。我們所缺少的

先看看 W3C 日文文檔:

https://www.w3.org/2005/11/Translations/Lists/ListLang-ja.html

其完整程度簡直令人驚嘆,甚至 CSS3 的一些模塊老早就已經翻譯好了。以下公開郵件:

You may know this already, there is already a Japanese translation (CR) exists:

https://triple-underscore.github.io/css-writing-modes-ja.html

Yes, I know.

...It leads that the translation refers recent spec, but sentences are a bit hard to read. The latter tries to translate in fluent sentences. The maintainance cost becomes high, but it would be easy to read.

...So I decide to translate.

(以上引自 2016-5-2Re: Japanese intention of translation

大意就是"我知道已經有日文版了,但翻得不好,所以還是決定重搞"。對比我們那寥寥 31 篇中文文檔,實在汗顏。

完備的文檔是行業發展的基礎,我們正是缺少這些東西的支撐,才導致現在的前端窘境。翻譯文檔是所有前端開發者的責任,而不是中文小組的義務,W3C 所有文檔翻譯者都是 Volunteer,參與翻譯沒有任何門檻,與 W3C 工作人員的交流也並沒有您想像的那麼難:

Dear translator,

Thanks for your translation...

...And would you also please let me know your Full name both in Chinese and English to allow us add your info into the Database?

Please feel free to contact me if you have any questions.

對方很親切的,一點點都不可怕,真的。

如果您有前端工作積累的經驗,恰好還會點英文,Please feel free to volunteer:

https://www.w3.org/Consortium/Translation/#volunteer

如果您確實想做點什麼,建議先不要亂來,請注意:

  1. 確定文檔狀態。是 Working Draft,Proposed,Recommendation,Candidate Recommendation 還是 Recommendation?建議只翻譯 Recommendation(推薦標準)

  2. 確認不存在中文版。在 W3C 數據庫以各種相關關鍵字搜索目標文檔,並搜索公開信,確認沒有 Intention(有人要翻)或者 Completed(有人翻完了)

  3. 發送翻譯意向(Intention)。告诉大家,我說了要翻這個,別重複了

  4. Just do it.

說出來的話就得全力做到,只有 Intention 沒有下文可不好。所以,翻譯請慎重,建議從篇幅短點的開始,但無論怎樣,多一篇極短的文檔對行業來說都是極好的

五。致 FEers

###1. 致前輩

您可能也覺得行業現在的新人功底差、素質低、眼睛高,可能也認真思考過原因,但最後或許也覺得這些東西是 nonsense(知道症結所在,卻有心無力)。

當然,您沒有大量的時間,也沒有那些精力來做年輕人的體力活兒。但換個角度,年輕人翻譯過程中遇到了各種困難,無法理解某些概念,非常希望能有一位經驗豐富的前輩作出解釋。而對您來說這些只是基本常識,一兩句話就能說清楚。

問題是他不知道您,更不知道您願意幫助他。解決這個問題其實不難,各進一步,只要您對文檔工作表示關注和支持(中文小組?或者其它更靠譜的方式),同時只要我們能通過一些方式找到您,這個結就解開了。

另一方面,面試時發現對方功底差到無法忍受,不妨直說,這樣對他對行業都好。(如果早有前輩這樣痛罵我的話,我現在得多感激他呀,可惜開悟的晚了)。

這些話本不應該由稚嫩的前端新人來說,但老老大說過"光腳的不怕穿鞋的",謝謝 @情封前輩給我勇氣

###2. 致像我一樣的新人

如果接觸前端不久,還處於學習積累階段的話,強烈建議從規範開始學習。如果沒有翻譯得不錯的中文文檔,自己翻一遍又何妨,這可是原汁原味的第一手資料啊,絕對不吃虧。

翻譯過程中如果遇到困難,就大膽去問前輩,大不了不回覆而已,不行就多問幾個。問不問是我的事,幫不幫是他的事,先做好自己的事。(P.S.求助時應該注意措辭突出重點,反正我丟給前輩們的求助郵件回覆率是 100%)

另一方面,前端東西確實非常多,而我們精力有限:

想必很多小夥伴都沒見過。不知大家有沒有跟我一樣的感覺,去廁所蹲了個大號,再回到辦公室就會遇到之前沒見過的前端新特性。

像我這種只學 HTML 和 CSS 都有些應接不暇,我想,那些 CSS3, HTML5, ES6/ES7, React, Angular, bootstrap, postcss, node 都會的小夥伴,應該每天都只睡 3-4 個小時吧,好厲害!

前輩調侃時可能也覺得這是 nonsense(他不說穿,讓用心的人自己去悟),@余果前輩把它說穿了:"先精後廣,一專多長"是成為全棧工程師的錦囊。

去年實習離職時向部門各前輩索要了一堆技能書,從 bash 到 PHP|node 到 backbone 到 ionic 到數學到產品(胃口略大),目前只吃透了一兩本,因為在開始點技能之前看到了@余果前輩的書,暫時放棄了成為三代目(忍術之神)的幻想,很慶幸當時的選擇。

最後一點,如果遭遇了困境,請大膽地向前輩求助,網絡中我們之間都是 0 距離的,前端圈的前輩們非常親切,都很樂意伸出援手(注意方式方法的話,沒有搞不定的人)。親身經歷:

@張鑫旭 看過他很多篇博文

@寒冬 winter 他的博文告訴我應該穩扎穩打

@前端開發博客 看過很多篇博文

@情封 朋友告訴我有一篇關於點擊穿透問題的文章被他收下了

@愚人碼頭 看過很多篇博文

@Barret 李靖 從博客園追到小鬍子哥主頁

@朴靈 最近才基本吃透 node 那本書

@CSS 魔法 看過一些博文

@司徒正美 想先學飛(打算點框架設計技能),後來失敗了

如開頭所述,我 @了這些和我不熟的前輩,我知道他,他不認得我。萬萬沒想到前輩們能非常熱心地幫我,所以,大膽去做,前輩們都很願意幫助我們。

評論

暫無評論,快來發表你的看法吧

提交評論