Vue PostCSS的使用介绍

PostCSS

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

1 . 使用下一代css语法

2 . 自动补全浏览器前缀

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

4 . css 代码压缩等等

使用

创建好项目并且初始化npm init -y

创建一个页面,一个css

|-------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!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" rel``=``"external nofollow" > </``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

|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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

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

源代码:

|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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``; } |

编译后

|-------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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.125``rem; } .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

然后就可以正常使用了

本来是这样的:

|-------------|---------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 | .box_``1``{ ``width``: ``200px``; ``height``: ``100px``; ``background-color``: ``red``; ``font-size``: ``18px``; ``} |

用了它就这样了:

|-------------|----------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 | .box_``1``{ ``width``: ``200px``; ``height``: ``100px``; ``background-color``: ``red``; ``font-size``: ``1.125``rem; } |

Is so good!!!

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

运行的新方式

创建config文件

postcss.config.js

|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 | const postcssPresetEnv=require(``'postcss-preset-env'``) module.exports={ ``plugins: [ ``require(``"autoprefixer"``), ``postcssPresetEnv({ ``stage:0 ``}), ``require(``"postcss-pxtorem"``),``//单位转换 ``] } |

这样就能使用了

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

如果还觉得繁琐可以在package.json中进行配置简化该运行命令!!

相关推荐
LuckyLay4 分钟前
Vue百日学习计划Day9-15天详细计划-Gemini版
前端·vue.js·学习
大得3694 小时前
electron结合vue,直接访问静态文件如何跳转访问路径
javascript·vue.js·electron
水银嘻嘻6 小时前
12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
运维·前端·自动化
小嘟嚷ovo7 小时前
h5,原生html,echarts关系网实现
前端·html·echarts
十一吖i7 小时前
Vue3项目使用ElDrawer后select方法不生效
前端
只可远观7 小时前
Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
前端·flutter
周胡杰7 小时前
组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
前端·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
敲代码的小吉米7 小时前
前端上传el-upload、原生input本地文件pdf格式(纯前端预览本地文件不走后端接口)
前端·javascript·pdf·状态模式
是千千千熠啊7 小时前
vue使用Fabric和pdfjs完成合同签章及批注
前端·vue.js
九月TTS8 小时前
TTS-Web-Vue系列:组件逻辑分离与模块化重构
前端·vue.js·重构