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中进行配置简化该运行命令!!

相关推荐
GIS阵地20 分钟前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
刘较瘦_40 分钟前
AI 开发中的 Git Submodule 父子仓库模式:前后端分仓管理与协作实践
前端·github
牧艺1 小时前
cos-design WeatherBackground:用 Canvas 做一个「会变天」的背景引擎
前端·canvas·视觉设计
OpenTiny社区1 小时前
深度解析 LSP 如何为 AI 装上“眼睛”
前端·ai编程
布列瑟农的星空1 小时前
流程类SVG画布的通用开发范式
前端
fsssb1 小时前
Chromium 源码学习笔记(七):那些跨进程的调用,底下都是同一个东西——Mojo
前端
MichaelJohn2 小时前
从零星白屏到“启发式缓存”,记录一次刚接手屎山的惊险排查
前端
程序员黑豆2 小时前
鸿蒙应用开发:6种图片加载方式详解
前端·华为·harmonyos
半个落月2 小时前
用 React 搭一个 WebGPU 模型加载页:从状态驱动到可复用进度条
前端·react.js
雪隐3 小时前
个人电脑玩AI-13让5060 Ti给你打工——我用 0.9B 小模型终结了"谁来记会议纪要"这个世纪难题
前端·人工智能·后端