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

資訊專欄INFORMATION COLUMN

【翻譯】PostCSS簡介

Lsnsh / 2204人閱讀

摘要:許多開發人員花時間在使用的預處理器上如和。傳統的預處理器的問題不能擴展。有些預處理器提供諸如的功能,可以徹底不使用它們。每個預處理器已經有了自己的標準。如下它被翻譯成嗯我從來沒有說過所有的插件都是有用的結束語和預處理器是偉大的。

許多開發人員花時間在使用CSS的預處理器上如less,sass和stylus。這些工具已經成為Web開發的重要組成部分。寫一個網站的樣式,不使用嵌套,變量或混入等功能很少見。它們每個都是非常實用的,讓我們退后一步看,考慮以這種方式使用預處理器是不是最好的辦法。
傳統的預處理器的問題:
不能擴展。無論您選擇哪種預處理,都被限制到設定的,它提供的功能。如果您需要在其上構建功能,在構建過程中,你需要添加一個多帶帶的步驟。如果你想寫一個擴展,只能針對你自己的。
不能剔除任何功能。有些預處理器提供諸如sass的@extend 功能,可以徹底不使用它們。當你不使用它們,卻無法刪除該工具的這個功能,減少代碼的體積。
自己的CSS標準。每個預處理器已經有了自己的標準。但并不是W3C標準,這意味著它們不會被新的W3C標準兼容。

下面要介紹的PostCSS,就是解決以上問題的工具。
什么是PostCSS?
PostCSS不是預處理器; 它不改變CSS。它本身并不完成css工作。它的作用是提供一個CSS解析器和創建可以分析,測試,處理資源,優化,創建回調,和傳輸給其它解析CSS框架的插件的框架。PostCSS把CSS解析成抽象語法樹(AST),通過一系列的插件,然后重新編譯成一個字符串。如果你熟悉JavaScript工具,那么可以把PostCSS類比為CSS的Babel。目前有超過200個PostCSS插件,其中有許多在的PostCSS GitHub的頁上列出,而另一些可以在PostCSS 的postcss.parts目錄中找到。PostCSS可以集成在大多數構建工具,包括gulp,grunt,WebPack或NPM。那么,如何用PostCSS解決我們前面列出的問題?

每個插件多帶帶安裝。選擇需要插件以及順序應用。通常情況下,插件可以使用另外一些設置選項進行配置。

您可以編寫自己的插件。每個插件PostCSS接收解析CSS作為輸入參數,分析或修改它,并以同樣的方式返回。這意味著,插件不需要處理解析CSS和轉換回成一個字符串。因此很容易構建自己的插件。

PostCSS可以用來寫出符合W3C的CSS。有很多插件,旨在實現新的W3C規范功能。這將使你寫一個標準的對未來版本兼容的css代碼。

怎樣使用PostCSS
安裝PostCSS,我們不會進入太多有關設置的細節。我們會在命令行直接運行PostCSS。你可以在在Github的頁面上找到各構建工具中如何使用PostCSS工具的詳細信息。
安裝PostCSS
PostCSS通過node與npm安裝,請確保已經在開始前安裝了node。把PostCSS安裝在全局,代碼如下:

npm install -g postcss-cli

運行下面代碼,查看是否安裝上:

postcss --help

在屏幕會給你打出postcss接受的參數列表。也可以參照postcss-CLI documenation。
運行PostCSS
PostCSS安裝成功,下面做一個小DEMO。創建styles.css文件,并添加一些CSS樣式。例如,定義一個Flexbox的容器:

.container  { 
  display: flex
 }

Flexbox需要瀏覽器前綴才能在對應的瀏覽器上運行。如果不想手動維護,Autoprefixer是PostCSS插件,完成自動維護的工作。它會基于can i use所提供的信息,自動添加供應商前綴。下面將先放你如何使用Autoprefixer維護瀏覽器前綴。
安裝Autoprefixer,運行下面命令:

npm install -g autoprefixer

接下來,切換到項目文件夾,創建一個DIST文件夾,并把處理好的css放到里面:

mkdir dist

然后運行PostCSS:

postcss -u autoprefixer styles.css -d dist

上面命令的意思是:運行Autoprefixer 處理styles.css并輸出到DIST / styles.css。現在,打開DIST / Styles.css中會看到所有需要的瀏覽器前綴的css都已經加上:

.container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;}

運行PostCSS -w標識,會啟動一個watcher監聽進程,當styles.css的文件被修改,則會自動處理。
插件配置我們可以根據需要來配置Autoprefixer的瀏覽器前綴。通過設置browsers選項來完成。當通過命令行運行PostCSS,插件配置需要在.json文件中定義,例如,postcss.json。讓我們在當前文件夾中創建文件,并配置Autoprefixer支持的瀏覽器的最新的2個版本。

{
  "autoprefixer": {
    "browsers": ["last 2 versions"]
  }}

現在可以重新運行PostCSS并根據新的配置文件監聽:

postcss styles.css -u autoprefixer -c postcss.json -d dist -w

啟用source map
source map是用于調試編譯CSS必不可少的。PostCSS可以生成輸出文件內聯source map,通過設置--map選項(或-m標識)。
更多postcss插件
PostCSS有一個驚人的插件庫,包括測試,質量檢查,回退,老的瀏覽器支持,內聯資源,雪碧圖生成,優化,新的語法支持,以及未來的CSS特性。正如前面提到的,你可以在插件的結構目錄postcss.parts中找到。
做一個demo,使用幾個插件,展示一下PostCSS的作用。
CSS變量的自定義屬性插件
postcss-custom-properties插件的作用,實現對支持W3C自定義屬性規范(又名本地變量)。在選擇器的自定義屬性為任意值,并在樣式表其他地方引用。
這和less,sass中變量的功能相同:存放值和消除代碼重復。主要的區別是,作用域是有點不同; 類似于常規屬性,CSS自定義屬性沿元素級聯傳播,而不是塊級范圍。
下面是這個插件如何工作的一個例子。代碼:

:root {
  --container-width: 800px;}

.container {
  width: var(--container-width);}

將編譯為:

.container {
  width: 800px;}

自定義選擇器插件
postcss-custom-selectors插件實現了自定義選擇器規范。可以預先定義選擇器,并在后面引用它們。例如,我們可以保存所有標題的一個選擇器,并重新使用它作為一個變量:

@custom-selector :--headings h1, h2, h3, h4, h5, h6;

:--headings {
  color: mediumblue;}

這將編譯如下:

h1,
h2,
h3,
h4,
h5,
h6 {
  color: mediumblue;}

俄羅斯樣式表插件
曾經想學習俄語,但寫CSS太忙?不用擔心,現在可以用俄羅斯語寫CSS啦!只需使用俄語樣式插件。如下:

h1 { 
  размер-шрифта :  20 пикселей ; 
  цвет : красный ; 
  цвет-фона : белый ; 
  вес-шрифта : жирный ; }

它被翻譯成:

h1 {
  font-size: 20px;
  color: red;
  background-color: white;
  font-weight: bold;}

嗯......我從來沒有說過所有的插件都是有用的!
結束語
less和sass預處理器是偉大的。很大程度改善了我們的開發過程。但現在,停下來,重新思考以后的開發,這些工具是否還是最好的選擇。
我們不只是需要新的功能來寫樣式,我們還需要模塊化,更多的新標準,以及靈活的構建進程。PostCSS也是這樣做的,它可能會使CSS世界的游戲規則改變。
原文:An Introduction to PostCSS
原文鏈接:http://www.sitepoint.com/an-introduction-to-postcss/?utm_source=sitepoint&utm_medium=relatedinline&utm_term=html-css&utm_campaign=relatedauthor

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115216.html

相關文章

  • 庫&插件&框架&工具

    摘要:一些有用的一些有用的,包括轉換小箭頭三角形媒體查詢等中文指南是當下最熱門的前端資源模塊化管理和打包工具。 nodejs 入門 nodejs 入門教程,大家可以在 github 上提交錯誤 2016 年最好用的表單驗證庫 SMValidator.js 前端表單驗證工具分享 淺談前端線上部署與運維 說到前端部署,可能大多數前端工程師在工作中都是使用的公司現成的部署系統,與SRE對接、一起完...

    Codeing_ls 評論0 收藏0
  • 庫&插件&框架&工具

    摘要:一些有用的一些有用的,包括轉換小箭頭三角形媒體查詢等中文指南是當下最熱門的前端資源模塊化管理和打包工具。 nodejs 入門 nodejs 入門教程,大家可以在 github 上提交錯誤 2016 年最好用的表單驗證庫 SMValidator.js 前端表單驗證工具分享 淺談前端線上部署與運維 說到前端部署,可能大多數前端工程師在工作中都是使用的公司現成的部署系統,與SRE對接、一起完...

    xiaowugui666 評論0 收藏0
  • 翻譯】用PostCSS改善你的CSS代碼質量

    摘要:代碼質量這個術語對于程序員來說并不陌生。在本文中,我們將探討我們如何能夠利用幫助我們,保持我們的代碼質量更高。怎樣使用在這篇文章中,我們重點介紹幾個插件,可以幫助我們提高代碼質量。使用相當簡單的。這兩個插件可用于代碼分析。 代碼質量這個術語對于程序員來說并不陌生。畢竟,每個開發人員都知道,代碼只是能工作是不夠的。它還應該具備其他要素:它應該是可讀的,良好的格式和一致性。它也應該符合一些...

    sorra 評論0 收藏0
  • 2017-08-02 前端日報

    摘要:前端日報精選浮點數精度之謎前端面試必備基本排序算法從賀老微博引出的遍歷器加速那些奧秘進階之深入理解數據雙向綁定全棧天中文深入理解筆記用模塊封裝代碼前端架構經驗分享周二放送自制知乎專欄譯在大型應用中使用的五個技巧掘金開發指南眾成 2017-08-02 前端日報 精選 JavaScript 浮點數精度之謎前端面試必備——基本排序算法從賀老微博引出的遍歷器(Iterators)加速那些奧秘J...

    Worktile 評論0 收藏0
  • 2017-06-18 前端日報

    摘要:前端日報精選精讀高階組件知乎專欄是如何重新定義前端開發的知乎專欄為您的性能選擇最佳的引擎知乎專欄中的尺寸單位掘金一種生成雪碧圖的懶惰姿勢中文第期編寫現代代碼周刊第期的平凡之路我們到底可以通過多少種方式修改元素樣式掘金 2017-06-18 前端日報 精選 精讀 React 高階組件 - 知乎專欄React 是如何重新定義前端開發的 - 知乎專欄為您的 Node 性能選擇最佳的 JS 引...

    Yang_River 評論0 收藏0

發表評論

0條評論

Lsnsh

|高級講師

TA的文章

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