PostCSS的使用

21 篇文章 1 订阅

PostCSS

postcss 一种对css编译的工具,类似babel对js的处理,常见的功能如:

  • 1 . 使用下一代css语法

  • 2 . 自动补全浏览器前缀

  • 3 . 自动把px代为转换成rem

  • 4 . css 代码压缩等等

使用

创建好项目并且初始化npm init -y
创建一个页面,一个css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PostCSS</title>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
    <div class="box">
        <div class="box_1">盒子1</div>
        <div class="box_2">盒子2</div>
        <div class="box_3">盒子3</div>
    </div>

</body>
</html>

css

body{
    background-color: black;
}
.box{
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 18px;
    &:hover{
        background-color: blue;
    }
}
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

安装依赖

npm i postcss postcss-cli

运行

npx是高版本node可以使用的

npx postcss 源文件名.css -o 编译后的文件名.css

这样就能转换一个新css文件,然而并没有啥变化

使用第三方插件autoprefixer

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

主要用于处理兼容性问题
可以查看浏览器前缀信息

npx autoprefixer --info

运行
在-u 后面加上插件

 npx postcss index.css -o dist.css -u autoprefixer

如果觉得以上运行方式太垃,那我们就开启新的方式吧!!!

使用第三方插件postcss-preset-env

postcss-preset-env是一个兼容浏览器,给一些css加上前缀的插件

npm i --dev postcss-preset-env

运行后可以发现会自动给你做兼容性处理
源代码:

body{
    background-color: black;
}
.box{
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    &:hover{
        background-color: blue;
    }
}
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

编译后

body{
    background-color: black;
}
.box{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 1.125rem;
}
.box_1:hover{
        background-color: blue;
    }
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

是不是觉得很方便很beautiful~

使用第三方插件postcss-pxtorem

它是一款自动将px转rem的插件

npm i --dev postcss-pxtorem

然后就可以正常使用了
本来是这样的:

.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 18px;
   }

用了它就这样了:

.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 1.125rem;
}

Is so good!!!
上方插件就演示这么多了,再介绍一下如何方便的运行:

运行的新方式

创建config文件

postcss.config.js

const postcssPresetEnv=require('postcss-preset-env')
module.exports={
    plugins: [
        require("autoprefixer"),
        postcssPresetEnv({
            stage:0 
        }),
        require("postcss-pxtorem"),//单位转换
    ]
}

这样就能使用了
通过npx postcss 源文件名.css -o 编译后文件名.css
如果还觉得繁琐可以在package.json中进行配置简化该运行命令!!
看完这篇文章还会不懂吗????完结~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碰磕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值