国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Web真相: CSS不是真正的編程 | Christian Heilmann

vvpale / 1808人閱讀

摘要:每隔幾個月就會出現(xiàn)一篇文章表明并不是真正的編程語言。你無需擔(dān)心因添加了一行不支持的代碼而出錯,解析器會跳過它不支持的屬性。當(dāng)遇到錯誤時,解析器會中斷解析并且拋出錯誤信息,而解析器會忽略這些錯誤并繼續(xù)解析。

每隔幾個月就會出現(xiàn)一篇文章表明:CSS并不是真正的編程語言。以編程語言的標(biāo)準(zhǔn)來說,CSS過于困難。使用這門語言會很有創(chuàng)造性:

人們對CSS有一些強烈的情愫。

— Dave Rupert (@davatron5000) [September 18, 2017]

事實確實如此,CSS不同于傳統(tǒng)的編程,且具有缺陷,同任何標(biāo)準(zhǔn)化編程語言相比,使用起來都更為困難。這是由于CSS被設(shè)計為一種描繪界面的方式,而不是以編程形式實現(xiàn)該界面,例如canvas的API。CSS的設(shè)計初衷就不同于傳統(tǒng)編程語言。

CSS為用戶上網(wǎng)時遇到的一些復(fù)雜且未知的東西創(chuàng)建界面,這個設(shè)計初衷是很棒的。作為一名CSS開發(fā)者,你相信用戶代理(大部分情況下指的是瀏覽器)會表現(xiàn)正確的行為。你無法控制CSS發(fā)生的時機,但同時你也無需擔(dān)心性能、渲染時間和響應(yīng)的具體細(xì)節(jié),因為這些細(xì)節(jié)是由瀏覽器開發(fā)者和瀏覽器所處操作系統(tǒng)決定的。不過很棒的一點是,CSS允許你在其應(yīng)用的地方修改這些重要的細(xì)節(jié)。如果你使用JavaScript來創(chuàng)建界面或動畫,你不僅需要做更多深入細(xì)致的控制,還要確保一切都能正常工作,否則可能會阻塞頁面的正常顯示。使用CSS就意味著放棄控制,而去花更多的時間創(chuàng)建友好的響應(yīng)式交互界面。用戶可能會搞亂你的界面設(shè)置,但CSS可以為你規(guī)避這種情況。

使用CSS開發(fā)不同于傳統(tǒng)模式,并不需要循環(huán)、條件和變量。但CSS正朝著這個方向發(fā)展,Sass作為CSS的擴展語言,引入了變量,為CSS未來的發(fā)展奠定了基礎(chǔ)。但CSS最需要的不是語法,而是你要清楚使用CSS所描繪的界面是什么。其次,如何確保你使用CSS編寫的界面是足夠靈活的,以至于用戶無法觸發(fā)頁面的錯誤也不會無法訪問頁面。當(dāng)你理解了HTML并使用CSS來控制它的樣式時,你能夠減少很大的代碼量。

你的用戶們的忠誠度依賴于所在的技術(shù)平臺,如果你不打算創(chuàng)建友好的交互來提升用戶體驗,增加用戶的留存度,CSS可能并不適合你。CSS被設(shè)計為一種“寬容“的語言,當(dāng)你的一些代碼無法起作用時,CSS也不會報錯。因此,漸進增強是很棒的設(shè)計。你無需擔(dān)心因添加了一行不支持的代碼而出錯,解析器會跳過它不支持的屬性。當(dāng)遇到錯誤時,JS解析器會中斷解析并且拋出錯誤信息,而CSS解析器會忽略這些錯誤并繼續(xù)解析。這對于想要知道錯誤信息的開發(fā)者來說會很奇怪,但是卻讓你從需要使用if來包含各種情況、兼容所有可能使用的瀏覽器這一狀況下解脫出來。如何對按鈕使用漸變效果?首先,定義一個背景色,然后在下一行設(shè)置背景為漸變。如果瀏覽器不支持漸變效果,它依舊會渲染出一個正常的按鈕,只不過背景不是漸變而已。在這個過程中,你根本無須擔(dān)心瀏覽器是否支持漸變。

由于對CSS的設(shè)計目的不了解而產(chǎn)生了錯誤認(rèn)知,才導(dǎo)致出現(xiàn)了很多“CSS不是真正的編程”的觀點。如果你想要完全控制一切,比如界面、甚至精細(xì)到像素的話,請不要使用CSS。相反,如果你想要構(gòu)建一個包羅廣泛、多種多樣的頁面,CSS是個很好的工具。編寫CSS需要站在用戶的角度考慮,設(shè)計擁有良好交互的頁面,提升用戶體驗,但這并不是說你把一個Photoshop生成的圖片放到頁面就好了。使用CSS構(gòu)建頁面需要不同于后端語言的技術(shù)棧,其次,作為維護者、編寫者的心態(tài)也要發(fā)生轉(zhuǎn)變。

不管怎么說,輕視CSS開發(fā)者、將他們視為非純正開發(fā)者,這種傲慢的想法略顯荒謬。尤其是在你甚至都沒花時間了解CSS的設(shè)計目的是什么,以及它目前驚人的發(fā)展速度。

從另一方面來說,CSS本不是也不應(yīng)該是任何問題的解決方式。例如,你可以創(chuàng)建帶有陰影的像素,但同時也會對瀏覽器渲染引擎帶來渲染壓力。

對我來說,CSS就是Web的一部分;對有些人來說,CSS的語法顯得很奇怪,以至于讓他們覺得是另一種編程語言。不過這些年來,隨著CSS的發(fā)展,它的價值毋庸置疑。在未來很長一段時間,CSS應(yīng)該也不會消失。因此,如果你不喜歡使用CSS,那就和會使用的人合作開發(fā)網(wǎng)頁。

與其討論“CSS是否有缺陷,需要被替代”的問題,不如以一種積極健康且不同于以往的角度討論CSS:

CSS可以做什么,它有什么不足

有哪些過去需要其他技術(shù)才能實現(xiàn)的,而現(xiàn)在CSS就可以做到的事情,以及如何應(yīng)用

如何編寫可維護的CSS

你能夠做什么,來使CSS開發(fā)者的開發(fā)過程更簡單、容易?

我們使用哪些CSS hack,為什么不應(yīng)該再用它們

我們可以做什么來讓CSS這門語言變得更好、更豐富?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/114480.html

相關(guān)文章

  • Web真相: CSS不是真正編程 | Christian Heilmann

    摘要:每隔幾個月就會出現(xiàn)一篇文章表明并不是真正的編程語言。你無需擔(dān)心因添加了一行不支持的代碼而出錯,解析器會跳過它不支持的屬性。當(dāng)遇到錯誤時,解析器會中斷解析并且拋出錯誤信息,而解析器會忽略這些錯誤并繼續(xù)解析。 每隔幾個月就會出現(xiàn)一篇文章表明:CSS并不是真正的編程語言。以編程語言的標(biāo)準(zhǔn)來說,CSS過于困難。使用這門語言會很有創(chuàng)造性: 人們對CSS有一些強烈的情愫?!?Dave Rupert...

    wind5o 評論0 收藏0
  • 前端技術(shù)日志 | 19年8月21日 | 新 React DevTools 介紹

    摘要:前端技術(shù)日新月異,在你鞏固底層技能的同時,別忘了還要跟上前沿技術(shù)的發(fā)展步伐。你可以從谷歌的博客中了解更多相關(guān)信息。令我驚訝的是,谷歌所有地方在非常簡單的頁面上都沒有搜索欄??焖侔l(fā)布預(yù)覽零配置打包工具??焖賳有碌墓ぞ?。 Web 前端技術(shù)日新月異,在你鞏固底層技能的同時,別忘了還要跟上前沿技術(shù)的發(fā)展步伐。 本期刊專注于 Web 前端前沿技術(shù),收集的內(nèi)容來自國外各大前端技術(shù)周刊,這里把值得...

    pepperwang 評論0 收藏0
  • 前端技術(shù)日志 | 19年8月21日 | 新 React DevTools 介紹

    摘要:前端技術(shù)日新月異,在你鞏固底層技能的同時,別忘了還要跟上前沿技術(shù)的發(fā)展步伐。你可以從谷歌的博客中了解更多相關(guān)信息。令我驚訝的是,谷歌所有地方在非常簡單的頁面上都沒有搜索欄。快速發(fā)布預(yù)覽零配置打包工具??焖賳有碌墓ぞ?。 Web 前端技術(shù)日新月異,在你鞏固底層技能的同時,別忘了還要跟上前沿技術(shù)的發(fā)展步伐。 本期刊專注于 Web 前端前沿技術(shù),收集的內(nèi)容來自國外各大前端技術(shù)周刊,這里把值得...

    zhiwei 評論0 收藏0
  • JavaScript設(shè)計模式入坑

    摘要:設(shè)計模式入坑介紹設(shè)計模式編寫易于維護的代碼。設(shè)計模式的開創(chuàng)者是一位土木工程師。創(chuàng)建型設(shè)計模式處理對象的創(chuàng)建。行為設(shè)計模式系統(tǒng)中的對象的通信迭代器模式,中介者模式,觀察者模式,訪問者模式。 JavaScript設(shè)計模式入坑 介紹 設(shè)計模式編寫易于維護的代碼。 設(shè)計模式的開創(chuàng)者是一位土木工程師。Σ( ° △ °|||)︴,寫代碼就是蓋房子。 模式 模式一種可以復(fù)用的解決方案。解決軟件設(shè)計中...

    suosuopuo 評論0 收藏0
  • 前端開發(fā)周報: CSS 布局方式與JavaScript數(shù)據(jù)結(jié)構(gòu)和算法

    摘要:如果沒有學(xué)習(xí)過計算機科學(xué)的程序員,當(dāng)我們在處理一些問題時,比較熟悉的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,數(shù)組無疑是一個很好的選擇。 showImg(https://segmentfault.com/img/bVTSjt?w=400&h=300); 1、常見 CSS 布局方式詳見: 一些常見的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、雙飛翼布局等。http://cherryb...

    huhud 評論0 收藏0

發(fā)表評論

0條評論

vvpale

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<