autoprefixer插件的使用踩坑


這個插件主要配合打包自動添加css瀏覽器兼容前綴,比如-webkit-、-ms-等。官網:https://github.com/postcss/autoprefixer

這是PostCSS的插件,根據官網,配置參數有兩種方式

沒有特殊要求用defaults配置即可。本人的基礎配置如下

// package.json
{
  "browserslist": [
    "last 2 version",
    "> 0.2%",
    "maintained node versions",
    "not dead"
  ]
}

 

坑1:國內瀏覽器占比和全球的完全不同

上面的“> 0.2%”從理論上來說已經覆蓋了絕大部分瀏覽器。但是中國的瀏覽器占比和全球的完全不同,在中國IE各個版本還有一大堆。

按上面的配置,css代碼

.view-container {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

轉換結果沒有任何變化。

期望的是能夠兼容到ie10+和低版本的chrome的兼容寫法。解決辦法有多種。

1.配置加上中國的特有瀏覽器比例

推薦,這樣能覆蓋到中國和世界的絕大多數瀏覽器】

// package.json
{
  "browserslist": [
    "last 2 version",
    "> 0.2%",
    "maintained node versions",
    "not dead",
    "> 0.2% in CN"
  ]
}

上面的css編譯后結果為

.view-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

 

2.設置要支持的瀏覽器的版本

比如

// package.json
{
  "browserslist": [
    "last 2 version",
    "> 0.2%",
    "maintained node versions",
    "not dead",
    "iOS >= 7",
    "Android >= 4.1",
    "IE >= 10"
  ]
}

上面的css編譯結果為

.view-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

根據自己的實際情況配置即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM