postCss基本介绍

PostCSS详细介绍 PostCSS是一个强大的CSS处理工具,它可以用来转换、优化和格式化CSS代码。与传统的预处理器(如Sass和Less)不同,PostCSS不是一种新的CSS语法,而是一个基于JavaScript插件的工具,可以灵活地扩展和定制。本书将详细介绍PostCSS的原理、用法和常见插件,帮助读者快速掌握PostCSS的使用技巧和优化方法。 阅读详情

🌟什么是postCss?

        我个人的理解postCss就是css界的babel,它提供一个过程,而在这个过程中,去干什么就是你自己的事情,所以很多人写插件,去做代码转换,或者兼容等等。

babel 提供过程 @babel/preset-env  es6-es5
`JavaScript`
AST -> transform -> generate(生成)
postCss提供过程 
`css`
AST -> transform -> generate(生成)

两者都是提供一个过程,只是一个是处理javaScript,一个是处理css。

过程介绍

这个过程中AST指的是AST抽象语法树,这是一种概念(思想),举个例子:es6箭头函数的AST如下:

可以访问这个网站来将代码转换为抽象语法树https://astexplorer.net/

根据这其中的节点(标记),去执行转换等操作,这一步就是transform,比如将上图const 转换为 var。

转换完成后就是generate(生成),输出:

var a = function () {
    return 123
}

 以上就是一个完整过程的粗略说明。

🌟使用

安装

 npm i postcss

不知道大家有没有见过这个插件:autoprefixer,这个东西是帮助实现兼容各个浏览器加前缀的,并且是基于postCss实现的。没见过也不奇怪,因为我们平时使用的脚手架中其实都已经配好了。

下面我们也来用一用(我们这里是单独使用,postCss可以结合vite和webpack使用,vite中自带了postCss,webpack需要postcss-loader,下篇文章会结合vite写一个实现页面适配的插件):

npm i autoprefixer

 index.css:

.flex{
    display: flex;
}

index.ts: 

import postcss from "postcss";
import autoprefixer from "autoprefixer";
import fs from 'node:fs'
const css = fs.readFileSync('./index.css', 'utf-8')
postcss([autoprefixer()]).process(css).then(result => {
  console.log(result.css)
})

postcss是一个函数,参数是一个插件数组,并且多个插件执行顺序就是按数组顺序依次执行,process()接收的就是css文件,终端输入ts-node .\index.ts启动:

可以看到这里就是把我们的css文件内容输出,并无变化,这是因为autoprefixer()需要传入需兼容浏览器规则,然后动态去兼容各个浏览器版本:

import postcss from "postcss";
import autoprefixer from "autoprefixer";
import fs from 'node:fs'
const css = fs.readFileSync('./index.css', 'utf-8')
//browserList
const browserList: string[] = [
  'ie >=8',
  'chrome >= 31',
  'firefox >= 31',
  'safari >= 7',
  'opera >= 23',
];
postcss([autoprefixer(browserList)]).process(css).then(result => {
  console.log(result.css)
})

此时输出结果如下:

🌟总结

如前文所说,postCss就是为我们提供了一个过程,在这个过程中我们可以去进行需要的操作,这里就简单介绍一下,下篇结合vue3 + vite 实现移动端适配插件,原理就是将项目中所有的px单位转换成vw单位。

【简单介绍下PostCSS,什么是PostCSS?】 🔥PostCSS是一个由插件构成的工具,用于使用JavaScript转换CSS代码,它的设计理念是高度模块化和可扩展,使开发人员可以选择他们需要的特性,可以通过安装各种插件来实现。🔥PostCSS本身实际上并不做任何具体的转换工作,它提供的是一个解析CSS的框架,以及一系列钩子(hooks),插件可以利用这些钩子来操作CSS代码。 阅读详情

相关推荐

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 157

什么是postcss?如何使用postcss?

方式2:使用“browserslist”键在 package.json 文件中配置Browserslist。postcss是一个JavaScript 工具,可以用来。方式1:创建postcss.config.js文件,配置。postcss可以使用不同插件实现自动添加。后面添加 -w , 可以实时监听。-moz-: 火狐浏览器私有属性。-o-:Opera浏览器私有属性。-ms-:IE浏览器私有属性。

stay hungry, stay foolish 7081

OpenCV轮廓匹配实战:5分钟搞定Hu矩形状识别(附完整代码)

本文详细介绍了使用OpenCV进行轮廓匹配的实战技术,重点讲解了Hu矩形状识别在工业质检等领域的应用。通过完整的代码示例和参数调优技巧,帮助开发者在5分钟内实现高效的形状识别,提升工业检测的准确性和效率。

nnn11的博客 675

一文搞懂什么是 PostCSS

PostCSS 本身是一个功能比较单一的工具。它提供了一种方式用 JavaScript 代码来处理 CSS。它负责把 CSS 代码解析成抽象语法树结构(Abstract Syntax Tree,AST),再交由插件来进行处理。插件基于 CSS 代码的 AST 所能进行的操作是多种多样的,比如可以支持变量和混入(mixin),增加浏览器相关的声明前缀,或是把使用将来的 CSS 规范的样式规则转译(transpile)成当前的 CSS 规范支持的格式。

weixin_64051447的博客 4301

英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

本文章讲述了英飞凌AURIX 2G系列MCU关于外设模块EVADC的实现原理及对应MCAL配置工具(EB)的配置项。

weixin_46176506的博客 6274

cadence virtuoso 激励信号源

vpulse,vpwl,vsin,vsource信号源介绍

努力学习的IC小白 3万+

还记得PostCSS吗,看这一篇文章就够了!!!

由于项目中的使用,又想深入了解,想着写一篇博客,以此监督自我学习 ~那么首先,让我们带着几个问题来了解一下,PostCSS。

徐磊 2821

Streamlit安装避坑指南:从零到一键启动你的第一个数据可视化应用

本文提供了一份详尽的Streamlit安装避坑指南,帮助用户从零开始快速启动第一个数据可视化应用。文章深入剖析了安装过程中常见的网络超时、依赖冲突、环境变量缺失等核心问题,并给出了使用虚拟环境、配置国内镜像源、利用.whl文件离线安装等多种经过验证的解决方案,确保安装过程顺畅无阻。

weixin_29065015的博客 614

CSS——PostCSS简介

PostCSS不是像Sass或Less一样的样式处理器,他没有自定义的语法和语义,它实际上不是一种语言,而是一种CSS语法转换的工具。PostCSS与CSS一起使用,任何有效的CSS都可以由PostCSS处理。PostCSS是CSS语法转换的工具,允许自定义CSS的语法,这些语法可以被插件理解和转换。在 CSS 中查找某些内容(例如,will-change 属性)。更改找到的元素(例如,在 will-change 之前插入 transform: translateZ(0) 作为旧浏览器的填充)。

mantou_riji的博客 3589

微信支付开发之平台给用户转账到零钱的功能

请求消息中应包含商家批次单号、转账名称、appid、转账总金额、转账总笔数、转账openid、收款用户姓名等信息。批次已受理成功,若发起批量转账的30分钟后,转账批次单仍处于该状态,可能原因是商户账户余额不足等。【转账场景ID】 该批次转账使用的转账场景,如不填写则使用商家的默认场景,如无默认场景可为空,可前往“商家转账到零钱-前往功能”中申请。【转账总笔数】 一个转账批次单最多发起一千笔转账。【商家批次单号】 商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一。

程序员weixin_sodomany的博客 3450

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧)

本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。

weixin_28419039的博客 689

PostCSS及其常用插件介绍

前几天,PostCSS 6.0 分布了。PostCSS 处理了很多你不必处理的乏味工作。它很巧妙的不同于预处理器,提供了可选的且更简洁的编程语言,来编译成 CSS,如 Sass、Less 与 Stylus。它的名字。PostCSS 既能在预处理器将源代码编译成 CSS 之前也能在其之后对文件执行操作。PostCSS 能替代你的预处理器。现在有很多插件实现了一些设计,如变量、 嵌套、mixins 以及 extends。

玖疯子 1461

YOLOv8进阶:SEAM注意力与Repulsion Loss双剑合璧,突破遮挡检测瓶颈

做目标检测时,最头疼的莫过于目标被遮挡的场景——行人被树木挡住一半、车辆被广告牌遮挡部分轮廓……这些情况往往让模型“犯迷糊”。但现在,有了SEAM注意力模块和Repulsion Loss排斥损失,我们就能让YOLOv8在遮挡场景下也能“拨开迷雾见真章”。这篇教程会带你一步步理解这两个技术,并亲手把它们融入YOLOv8,让你的检测模型在复杂场景下也能稳如泰山。

FJN110的博客 233

PostCSS 介绍

PostCSS 介绍

qq_42952637的博客 1256

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

postcss介绍

前言 在 Web 应用开发中,CSS 代码的编写是重要的一部分。CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演化之中。这给开发人员带来了效率上的提高。不过与其他 Web 领域的规范相似的处境是,CSS 规范在浏览器兼容性方面一直存在各种各样的问题。不同浏览器在 CSS 规范的实现方面的进度也存在很大差异。另外,CSS 规范本身的发展速度与社区的期待还有一定的差距。这也是为什么 SASS 和 LESS 等 CSS 预处理语言可以流行的重要原因。S

刹那的博客 1418

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用PostCSS优化CSS:PostCSS-uncss插件介绍

使用PostCSS优化CSS:PostCSS-uncss插件介绍 PostCSS-uncss 是一个使用 JavaScript 编写的开源项目,它是作为 PostCSS 插件运行的。PostCSS 是一个强大的工具,可以通过一系列的插件对 CSS 进行转换和优化。 项目基础介绍 PostCSS-uncss 的主要目的是从样式表中删除未使用的 CSS 代码。它可以处理多个文件,并支持通过 JavaS...

gitblog_00214的博客 488

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Vue PostCSS的使用介绍

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里。postcss-preset-env是一个兼容浏览器,给一些css加上前缀的插件。通过npx postcss 源文件名.css -o 编译后文件名.css。如果还觉得繁琐可以在package.json中进行配置简化该运行命令!npx postcss 源文件名.css -o 编译后的文件名.css。如果觉得以上运行方式太垃,那我们就开启新的方式吧!这样就能转换一个新css文件,然而并没有啥变化。

玖疯子 1215

PostCSS 的介绍和使用

这些问题,可以使用 PostCSS 进行处理。类似于 babel,PostCSS 用来保证 CSS 的执行万无一失。然后再在浏览器中进行执行。PostCSS 是一个用于处理 CSS 的工具,它采用插件体系,允许开发者通过使用插件来转换、优化和处理 CSS 代码。与传统的预处理器(如 Sass 和 Less)不同,PostCSS 并不是一种新的 CSS 语言,而是通过插件系统扩展了现有的 CSS 语法。PostCSS 的主要优势之一是。开发者可以根据项目的需要,选择并配置不同的插件。

急需成长的路 561

PostCSS 常用插件与语法介绍

前言 两年前自己就开始学习 PostCSS ,但在开发中使用却不到一年。 没有使用的原因是觉得 PostCSS 插件太多,学习成本很高。 但在开发中实际使用后,觉得 PostCSS 还是有很大的便捷性,诸如自动补全浏览器前缀这一功能就节省了很多时间,把繁琐的工作交给了程序,心思都集中在代码逻辑上,会让开发的过程轻松不少。 PostCSS 是什么 PostCSS 是一个用 JavaScript 工...

weixin_34124577的博客 1456

Postcss的常用插件介绍以及安装使用

Postcss的常用插件配置以及安装使用 Autoprefixer Autoprefixer可以解析css文件并且添加浏览器前缀到CSS规则里 安装 cnpm i autoprefixer 配置 const autoprefixer = require('autoprefixer'); module.exports = { plugins: [ autoprefixer({ //设置百分之100的浏览器都适配 browsers: ["&gt

qq_41915936的博客 1173

Postcss介绍

说起web前端,大家总不忘想起前端三大组成部分:html,js和Css。但是在多数web开发工程师的眼里,css总是一段苦涩的记忆。就像这张图中一样,在早期进行大型的项目开发中,错综复杂的 Css 会让开发者崩溃的。产生这些问题的原因来源于 Css 本身,比如 Css 的语法不够强大,没有嵌套层级,需要书写大量的重复性的选择器。再例如没有变量和合理的样式复用的机制,是的逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。为了解决这些问题,便诞生了 Css 预处理器。

zhengddzz的博客 1154

[译]PostCSS介绍

PostCSS介绍 原文链接:http://www.smashingmagazine.com/2015/12/introduction-to-postcss/ 转自:http://www.zcfy.cc/article/81 CSS的发展与所有语言的发展一样,都有一个迭代的过程。伴随着每一个主要版本的发布,我们都可以获得新的特性和语法帮忙我们更好的完成样式。CSS3 介绍了很...

weixin_30378311的博客 147

探索高效CSS开发:PostCSS Short插件介绍

探索高效CSS开发:PostCSS Short插件介绍 在现代Web开发中,CSS的编写效率和代码的可维护性是开发者关注的重点。PostCSS Short插件,作为PostCSS生态系统中的一员,为开发者提供了一系列高级的简写属性,极大地简化了CSS的编写过程,提升了开发效率。本文将详细介绍PostCSS Short插件的功能、技术分析、应用场景及其独特特点。 项目介绍 PostCSS Short...

gitblog_00755的博客 1030

PostCSS插件系统:常用插件介绍

PostCSS是一个用JavaScript编写的工具,它允许你使用插件转换CSS代码。这些插件可以让你实现许多功能,比如自动添加浏览器前缀、使用未来的CSS语法、优化CSS的大小等等。PostCSS的强大之处在于其插件系统,几乎所有的功能都是通过插件来实现的。

新华编程特战队 1477
上一篇: JS浮点数精度问题及解决方案
下一篇: 基于postCSS手写postcss-px-to-vewiport插件实现移动端适配
琢鸣
琢鸣 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 9626粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

琢鸣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值