postcss安装和使用(详细)

1,安装postcss:

在此之前需要安装有node.js 

第一步 命令:cnpm install postcss-cli -g

   第二步 命令:cnpm install postcss –g

推荐内容

2,下载autoprefixer插件,并创建postcss.config.js文件并写入配置代码

autoprefixer插件:自动给兼容性差 的属性增加浏览器前缀,提高代码兼容性

这里的方法任意选择一种即可

方法一:将postcss.config.js中的browsers值设置为[“>0%”]

传服务器时,这里的node_modules文件夹不需要上传,存在依赖文件package.json,则使用命令:cnpm i   即可下载所需要的所有模块,自动生成node_modules文件夹

  postcss.config.js文件代码:

// 自动补齐前缀

// autoprefixer 插件

let autoprefixer = require("autoprefixer");



module.exports = {

    plugins: [

        autoprefixer({

            //兼容市面所有版本浏览器

            browsers: ["> 0% "]

        })

    ]

}

方法二:在package.json文件中配置,而package.json文件中只需要挂载一下插件名

postcss.config.js文件代码:

// 自动补齐前缀

// autoprefixer 插件

let autoprefixer = require("autoprefixer");



module.exports = {

    plugins: [

        // 方法二

        // 这里必须挂上插件

        autoprefixer

    ]

}

package.json中需要添加的代码
   "browserslist": [

        "last 5 version",

        ">1%",

        "ie>=8"

    ]

 last 5 version 表示最新五代浏览器

>1% 表示兼容市面上百分之九十九的浏览器

方法三:  创建.browserslistrc文件并写入代码

  这种方法就是把方法二中,package.json中需要添加的代码去掉””,然后放入.browserslistrc文件中

   第一步,先创建一个txt文件,然后另存为所有文件类型的  .browserslistrc文件,文件名就叫.lbrowserslistrc  不要做任何更改

  postcss.config.js文件代码还和第二种方法一样

// 自动补齐前缀

// autoprefixer 插件

let autoprefixer = require("autoprefixer");



module.exports = {

    plugins: [

        autoprefixer

    ]

}

保存类型  这里选 所有文件

        

第二步,在创建好的.browserslistrc文件中输入以下代码 保存

  last 5 version

        >1%

        ie>=8

3,创建package.json文件。并保存相关依赖

第一步,创建package.json文件

         命令:cnpm init

        

第二步,下载postcss.config.js中需要的模块并自动记录在依赖文件package.json中,

命令:cnpm 模块名称  -D  或者cnpm 模块名称  -S

这里的D或者S必须大写

  下载autoprefixer 模块

  下载 postcss模块

   package.json中的显示

4,使用postcss进行转化

 选其中一种即可1)或2)

1)转化:postcss 目标文件 –o目录及新文件名

        

每次保存一次,都需要使用命令手动转化一次

2)实时监听:postcss -w 目标文件 –o目录及新文件名 

         

用这个命令可以实现,只要保存就转化

效果展示

src中的demo.css文件写法

css文件夹demo.css中的代码:

可以看到自动添加了前缀

注意:postcss插件不能直接用于less和sass,只能作用于css文件

   可以先用sass或者less,再将编译好的css文件使用postcss转化

配合postcss使用的插件

一、postcss-import插件的使用

   postcss-import插件整合其他css代码,实现css模块化

  由于postcss转化时不会将导入的css文件一起转化生成新的css文件或者代码,所以需要配合使用postcss-inport插件合并代码

如图:

reset.css文件是demo.css中导入的文件,通过postcss转化后并没有在同级目录生成新的reset.css文件,代码依旧是@impor”./reset.css”

node安装postcss-import 并保存在package.js文件中

命令:cnpm i postcss-import -D

   在postcss.config.js中引入postcss-import,并在pluings中添加

// 自动补齐前缀

// autoprefixer 插件 不能直接用于less和sass

let autoprefixer = require("autoprefixer");

// postcss-import 插件  合并代码

let postcssImport = require("postcss-import");

module.exports = {

    plugins: [

        // 这里必须挂上插件

//自动加前缀

        autoprefixer,

 //合并css代码

        postcssImport

    ]

}

使用postcss转化之后引入的reset.css文件也被转化并合并到新的css文件中

如图:

 

2、cssnano插件 用来压缩代码,提高运行速度

1,安装 命令:cnpm i cssnano -S

   2, 使用:

psotcss.config.js中:

// autoprefixer 插件 不能直接用于less和sass

let autoprefixer = require("autoprefixer");

// postcss-import 插件  合并代码

let postcssImport = require("postcss-import");

// vssnano 插件 压缩,提高代码运行速度

let cssnano=require("cssnano");

module.exports = {

    plugins: [

        // 这里必须挂上插件

        autoprefixer,

        postcssImport,

        cssnano

    ]

}

 然后就是使用postcss转化,照着上面步骤操作即可

postcss常用插件

1.postcss-cssnext

在css中用新的样式、新语法时,需要用到postcss-cssnext插件来兼容

在根路径定变零--color变量后,在不使用postcss-cssnext插件时,postcss转化后的css文件中p标签里面的背景色的值还是变量形式,这就需要用到postcss-cssnext插件

功能:使用新的样式

下载:

        

使用:

psotcss.config.js中:

// 自动补齐前缀

// autoprefixer 插件 不能直接用于less和sass

let autoprefixer = require("autoprefixer");

// postcss-import 插件  合并代码

let postcssImport = require("postcss-import");

// vssnano 插件 压缩,提高代码运行速度

let cssnano = require("cssnano");

// postcss-cssnext 使用新的css样式

let postcssCssnext = require("postcss-cssnext");

module.exports = {

    plugins: [

        // 这里必须挂上插件

        autoprefixer,

        postcssImport,

        cssnano,

        postcssCssnext

    ]

}

运行postcss

运行postcss时报这段代码,大概意思为:postcss-cssnext插件包含autoprefixer插件,请删除plugins中的autoprefixer

css效果图:

 

可以看到,转化后的css中p标签中的背景色值变为了red

注意:postcss-cssnext插件包含autoprefixer插件,所以使用了postcss-cssnext插件后不需要再安装、引入、使用autoprefixer插件

postcss-cssnext配置方法和autoprefixer一样:

在创建好的.browserslistrc文件中输入以下代码 保存

  last 5 version

        >1%

        ie>=8

已经使用了autoprefixer,这里在psotcss.config.js中将其注释,

// 自动补齐前缀

// autoprefixer 插件 不能直接用于less和sass

//let autoprefixer = require("autoprefixer");

// postcss-import 插件  合并代码

let postcssImport = require("postcss-import");

// vssnano 插件 压缩,提高代码运行速度

let cssnano = require("cssnano");

// postcss-cssnext 使用新的css样式

let postcssCssnext = require("postcss-cssnext");

module.exports = {

    plugins: [

        // 这里必须挂上插件

        // autoprefixer,

        postcssImport,

        cssnano,

        postcssCssnext

    ]

}

注释后再次运行postcss

css效果图:

和上面一样转化后的p标签中的背景色值为red

2, stylelint插件 检测规范内容

可以提供很多css检测规则,可以去npm看对应文档

下载:

引入:

 建立规范 不能使用十六进制数作为color值

运行postcss后,这里报错了,stylelint检测到第20行代码不符合规范

3 postcss-sprites插件  把多张图片整合成一张大图(雪碧图)

     api较多 ,可以上npm官网上看

下载:

postcss.config.js中的引入并配置:

spritePath中写整合后路径,这里会自动创建文件夹并放置整合的大图(雪碧图)

运行postcss

转化后的css代码效果图:

转化后的css中自动定位了.div1,.div2图片位置

原本的images文件夹中的两张图

两张图被整合后dist文件夹中的一张大图:

  • 28
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PostCSS是一个强大的CSS处理工具,它可以通过使用各种插件来扩展CSS的功能。其中,postcss-cssnext是一个常用的插件,用于在CSS中使用新的样式和新的语法,同时兼容旧版本的浏览器。要使用postcss-cssnext插件,只需在项目中安装该插件,并在PostCSS的配置文件中进行相应的配置。 另外,如果你想在CSS中使用变量,并且希望在转化后的CSS文件中直接展示变量的值而不是变量本身,可以考虑使用postcss-cssnext插件。通过在根路径定义变量,插件会自动将变量替换为其真实的值。这样,在不使用postcss-cssnext插件时,转化后的CSS文件中的p标签的背景色值仍然会保持为变量形式。 此外,当你需要在项目中使用多个CSS文件,并希望将它们合并为一个文件或一段代码时,你可以借助postcss-import插件。这个插件可以将导入的CSS文件一起转化,生成一个新的CSS文件或一段合并后的代码。这样可以更好地管理和组织你的CSS代码。 因此,使用PostCSS的基本步骤如下: 1. 在项目中安装PostCSS及需要的插件,如postcss-cssnext和postcss-import。 2. 在项目中创建一个PostCSS的配置文件,例如.postcssrc.js。 3. 在配置文件中配置所需的插件和其参数,比如启用postcss-cssnext插件以及定义变量等。 4. 在命令行中运行PostCSS使用配置文件来处理CSS文件。 通过这样的步骤,你可以充分利用PostCSS及其插件来扩展和优化你的CSS代码。希望这些信息对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [postcss安装使用详细)](https://blog.csdn.net/m0_65450343/article/details/124603230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

玖疯子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值