文章目录

  • 背景
  • 使用步骤

背景

首先看文章标题,我们带着一个疑问,为什么CSS3需要带前缀呢?

浏览器厂商以前就一直在实施CSS3,但它还未成为真正的标准。各大浏览器的标准没有完全统一,导致各个浏览器地兼容不一样,到现在,依然还有很多属性需要带前缀。

前缀 浏览器 内核
-ms- IE浏览器 Trident内核
-moz- Firefox Gecko内核
-o- Opera Presto内核
-webkit- Chrome和Safari Webkit内核

浏览器地兼容性问题,可以在Can I use,关网上查询,同时下面介绍的插件也是根据Can I use来自动设置解决方案。下面是网站截图:

使用步骤

首先我们来介绍两个工具:

  1. postcss

    利用从 Can I Use 网站获取的数据为 CSS 规则添加特定厂商的前缀。 Autoprefixer 自动获取浏览器的流行度和能够支持的属性,并根据这些数据帮你自动为 CSS 规则添加前缀。

    PostCSS Preset Env 帮你将最新的 CSS 语法转换成大多数浏览器都能理解的语法,并根据你的目标浏览器或运行时环境来确定你需要的 polyfills,此功能基于 cssdb 实现。

    CSS 模块 能让你你永远不用担心命名太大众化而造成冲突,只要用最有意义的名字就行了。

    通过使用 stylelint 强化一致性约束并避免样式表中的错误。stylelint 是一个现代化 CSS 代码检查工具。它支持最新的 CSS 语法,也包括类似 CSS 的语法,例如 SCSS 。

  2. autoprefixer

    它是postcss中的一个插件。见名知意,它的作用主要就说用来补齐css前缀

  • 插件安装

    npm i -D postcss-loader autoprefixer
    
  • 配置webpack.config.js

    'use strict';const path = require('path');
    const webpack = require('webpack');
    const MiniCssExtractPlugin = require('mini-css-extract-plugin');
    const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
    const autoprefixer = require('autoprefixer');module.exports = {entry: {app: './src/index.js',search: './src/search.js'},                //打包入口文件(如果是单个入口就是字符串,如果是多个入口就需要配置成对象)output: {                               //打包输出文件path: path.join(__dirname, 'dist'),filename: '[name]_[chunkhash:8].js'},// watch: true,mode: 'production',                      //环境module: {rules: [{test: /\.css$/,use: [// 'style-loader',MiniCssExtractPlugin.loader,'css-loader',]},{test: /\.less$/,use: [// 'style-loader',MiniCssExtractPlugin.loader,'css-loader','less-loader',{loader: "postcss-loader",options: {postcssOptions: {plugins: [autoprefixer({overrideBrowserslist: ['last 10 Chrome versions','last 5 Firefox versions','Safari >= 6','ie> 8']})]}}}]}]}}
    

当前插件版本信息:

Webpack:5.69.1

Postcss-loader:10.2.0

Autoprefixer:10.4.2

less-loader:10.2.0

Webpack5之CSS3自动补齐前缀相关推荐

  1. ios-晋级之路 CocoaPods引用第三方库不import不自动补齐

    对于CocoaPods不自动补齐解决方案如下 选择工程的 Target -> Build Settings 菜单,找到\"User Header Search Paths\" ...

  2. mysql 自动补齐 表名,列名 方法, 重启mysql方法

    1.mysql自动补齐方法 方法一.修改my.cnf vi /etc/my.cnf [mysql] auto-rehash         #添加auto-rehash 注:修改 #no-auto-r ...

  3. Geany 代码自动补齐功能设置

    很多人用 geany 感觉不方便,有一部分就是相比于 pycham 的自动补齐功能不好使. 现在给大家看下自动补齐功能设置方法,设置完后用起来非常方便哦. Geany 代码自动补全设置: 默认出现自动 ...

  4. Jupyter 编写python代码实现代码自动补齐功能设置实例演示

    Jupyter 代码自动补齐功能 第一章:启用代码自动补齐功能 ① 安装工具包 ② 重启 Jupyter 服务 ③ 功能设置 ④ 效果展示 ⑤ cmd 安装工具包详细过程展示 第一章:启用代码自动补齐 ...

  5. sql server 语句自动补齐

    sql2008 sql语句自动补齐功能 sql2008的命令自动补齐功能在哪设置 包括查询的表明自动补齐 不想用插件 这个好像2008自带的有这个功能 难道我装的版本不对 楼主说的是自动联想功能吧,任 ...

  6. linux快捷命令补齐,Linux Shell简介——自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式.doc...

    Linux Shell简介--自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式 Unix (及后继者 Linux)在命令行下面诞生,因此,Unix 中的命令行有许多非常实用的功能. ...

  7. 输入框限制只能输入数字,正数、负数、0,最多两位小数;数字输入框可以输入负数,并最多保留两位小数;el-number-input去掉四舍五入和自动补齐小数;

    场景: –要求1:输入框只能输入数字,可以使正数.负数.0,小数点最多保留两位. –要求2:不需要自动补齐小数点,也不需要自动四舍五入. element-ui的数字输入框el-input-number ...

  8. 【转】Emacs -- 自动补齐

    1. Emacs 自带的hippie-expand (参考的是王垠的) hippie-expand是 Emacs 自带的功能, 把M-/ 绑定到 hippie-expand,在.emacs文件中加入 ...

  9. editplus public class自动补齐大括号问题破解

    这样你再打public class就不会自动补齐大括号了

最新文章

  1. java多线程-阻塞队列BlockingQueue
  2. JavaScript为什么使用原型模式而不是类模式
  3. 学习数据结构和算法前瞻
  4. linux系统中的目录讲解
  5. 数字调制系统工作原理_空间光调制器工作原理是什么 空间光调制器工作原理...
  6. 2017.4.24 聪明的质检员 思考记录
  7. sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...
  8. Maven第三篇【Maven术语、pom
  9. ThinkPad T410 拆机(高清)
  10. swfupload 无法加载_文件上传插件SWFUpload的使用指南
  11. 【19调剂】南方科技大学2019年硕士研究生招生预调剂公告
  12. TensorFlow 2.10 Unable to register cuBLAS factory Attempting to register factory for plugin cuBLAS方案
  13. QT5.5.0+VS2013(X64)+hidapi的USB继续深究之 QT的汉字显示
  14. 凯撒密码加密你的姓名拼音(c)
  15. 设计模式初探-观察者模式
  16. python招聘现状-python招聘现状
  17. 一般3d模型代做多少钱_3D打印模型一般需要多少钱?
  18. 杭州市拥北发展是否是最优解,拥江发展处于何种地位
  19. expand()函数
  20. tomcat下webapps目录里ROOT文件删除掉一招恢复

热门文章

  1. ​影视剪辑如何月入1万+?大神教你影视剪辑实操全流程!【覃小龙课堂】
  2. 邮箱客户端如何设置绑定邮箱账号地址?
  3. Record It for Mac(Mac屏幕录像工具)
  4. 网页在小米电视无法展示完整|小米电视网页分辨率怎么调,网页数据才能全屏展示
  5. 剑指 Offer-JZ6-旋转数组的最小数字
  6. 单引号双引号和其它特殊字符的恼人问题
  7. Unity+IDEA 断点调试Lua
  8. 流程图中的实线_XMind如何在流程图中绘制实线箭头?XMind使用技巧
  9. python回文数数的判定_python回文数判断
  10. 强制八小时工作制有助于刺激经济并使其进入良性循环