vite postcss

2023-11-16

PostCSS

  • PostCSS是一款使用JavaScript插件对CSS实现转换的工具
  • PostCSS拥有非常强大的插件,典型的比如autoprefixercssnextcss modules等。
  • PostCSS插件的处理方式类似CSS预处理器,而非预处理器和后处理器。
  • PostCSS并非优化CSS的工具,语法也并非CSS的新式语法。

Vite自身已经集成PostCSS,无需再次安装。另外也无需单独创建PostCSS配置文件,已集成到vite.config.jscss选项中。可直接配置css.postcss选项即可。Vite将自动在*.vue文件中所有的style标签以及所有导入的.css文件中应用PostCSS.

$ vim vite.config.js
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

import postcssImport from "postcss-import"
import autoprefixer from 'autoprefixer'
import tailwindcss from 'tailwindcss'


export default ({mode})=>{
  //生成自定义用户配置
  return defineConfig({
    //样式表插件
    css:{
      postcss:{
        plugins:[
          postcssImport,
          autoprefixer,
          tailwindcss
        ]
      }
    }
  })
}

PostCSS插件:嵌套CSS样式写法解决方案

插件 描述
postcss-import 支持@import写法
postcss-url 支持@url写法
postcss-bem 支持BEM元素规则命名
postcss-nested 支持类选择器嵌套写法,模拟SASS嵌套选择器写法。
postcss-nesting 支持符合W3C规范的嵌套类选择器写法
postcss-simple-vars 支持变量
postcss-advanced-variables 支持类似SASS自定义变量并引用,实现编写变量、条件、循环。
postcss-preset-env 支持变量运算

PostCSS插件:H5移动端屏幕适用性解决方案

插件 描述
cssnano 优化和压缩CSS,已包含autoprefixer插件。
postcss-aspect-ratio-mini 容器比匹配
postcss-cssnext 实现嵌套编程
postcss-px-to-viewport 将px转换为vw以适应各种屏幕
postcss-write-svg 1px细线的绘制

Import

PostCSS通过@import将样式表合并到一起,当需要通过@import将第三方类库导入到主样式表时,首先需要运行的是@import插件。

插件 描述
postcss-import 支持通过内联内容来转换@import规则
postcss-partial-import 让CSS文件支持@import语法,支持W3C的写法,也支持SASS写法。

postcss-import

安装插件

$ npm ls postcss-import
$ npm info postcss-import
$ npm i -D postcss-import@latest

postcss-partial-import

Autoprefixer

  • Autoprefixer是一个根据Can I Use解析CSS并为其添加浏览器厂商前缀的PostCSS插件
  • Autoprefixer会使用基于当前浏览器支持的特性和属性为CSS添加前缀

查看项目下是否已经安装过Autoprefixer

$ npm ls autoprefixer version

使用NPM为Vue项目安装Autoprefixer

$ npm info autoprefixer versions
$ npm i -D autoprefixer@latest

在PostCSS配置文件post.config.js配置文件的插件属性中添加Autoprefixer

$ vim postcss.config.js
import autoprefixer from "autoprefixer"

export default {
  plugins:[
    autoprefixer
  ]
}

TaildwindCSS

官方网站:https://www.tailwindcss.cn/docs/plugins

  • Tailwind CSS是一款实用为主效用优先的CSS框架
  • TailwindCSS作为PostCSS插件存在,将基础的CSS拆分为原子级别。
  • PostCSS提供Autoprefixer插件用于补全各种浏览器前缀,兼容性更好。

查看项目是否已经安装TailwindCSS

$ npm ls tailwindcss version

使用NPM安装TailwindCSS

$ npm info tailwindcss versions
$ npm i -D tailwindcss@latest

为PostCSS配置TailwindCSS插件

$ vim postcss.config.js
import postcssImport from "postcss-import"
import autoprefixer from "autoprefixer"
import tailwindcss from "tailwindcss"

export default {
  plugins:[
    postcssImport,
    autoprefixer,
    tailwindcss
  ]
}

配置TailwindCSS独立配置文件

$ vim tailwind.config.js
export default {
  
}

安装VSCode插件

  • Tailwind CSS IntelliSense
  • Tailwind Docs

创建全局应用的样式表,注意必须引入postcss-import插件以支持@import写法。

$ vim src/assets/css/main.css
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';

项目主入口文件中引入全局样式表

$ vim src/main.js
import "@/assets/css/main.css"

安装TailwindCSS插件

TailwindCSS提供了可复用的第三方插件用于扩展Tailwind,插件会注册新的样式,让Tailwind使用JavaScript代替CSS注入用户的样式表。

$ npm i -D @tailwindcss/forms
$ npm i -D @tailwindcss/typography
$ npm i -D tailwindcss/aspect-ratio
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vite postcss 的相关文章

  • 使用 CSS 使一行 div 高度相同

    我有一排必须具有相同高度的 div 但我无法提前知道该高度可能是多少 内容来自外部源 我最初尝试将 div 放置在封闭的 div 中并将它们向左浮动 然后我将它们的高度设置为 100 但这没有明显的效果 通过将封闭 div 的高度设置为固定
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • CSS3 信封形状

    正如您可能已经猜到的 该图像是邮件信封形状的一部分 如果可能的话 我想使用 CSS3 创建该形状 我已经制作了其他部分 但这个很棘手 该形状需要两侧都有三角形切口和圆角 大概是 border radius bottom left borde
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 基础算法matlab

    常用算法 knn knn clc close all clear training mvnrnd 2 2 eye 2 50 mvnrnd 2 2 2 eye 2 50 mvnrnd 2 2 2 eye 2 50 group ones 50
  • Comparable和Comparator的区别以及Lambda表达式实现

    Comparable和Comparator的区别 1 comparable里面的ComparaTo 是TreeSet和TreeMap里面add 与put 方法里面调用对象的ComparaTo 通过返回值 来确定它 是否存在or顺序 他是内置
  • 计算机二级证书免费发到学校,计算机二级证书去哪里领取

    随着计算机等级考试成为了当代大学生必考的考试之一 越来越多的同学都加入到考试大军 通过了计算机二级考试 证书如何领取呢 下面是小编整理的详细内容 一起来看看吧 计算机二级证书领取方法 1 一般情况下是考试结束后50个工作日左右出成绩及出证
  • echarts 中 symbol 自定义图片

    首先我使用的技术框架的VUE 当然该方法在其他框架也是适用的 这点大家注意一下 在官方文档里面 修改标记的图形 symbol 的方法有三种 一 ECharts 提供的标记类型有 circle rect roundRect triangle
  • .NET C#基础(5):结构体 - 高性能代码的基石

    0 文章目的 本文面向有一定 NET C 基础知识的学习者 介绍C 中结构体定义 使用以及特点 1 阅读基础 了解C 基本语法 了解 NET中的栈与托管堆 2 值类型 2 1 NET的两大类型 在 NET中 所有类型都是object类型的子
  • Excel行高、列宽怎么调整?

    在日常工作中 经常会需要用到Excel表格 如果打开的Excel表格行高列宽不是我们想要的 要怎么调节到合适的大小呢 方法一 打开Excel表格 按 Ctrl A 快捷键 选中全部表格 或者点击表格左上角 行号和列标交汇处的灰色小三角 也可
  • CEPH PG incomplete状态修复

    某运营商的Kubernetes项目物理机停机维护 重启后Kubernetes部分pod无法挂载PVC 请求超时 该Kubernetes集群的后端存储使用ceph rbd块存储 检查ceph集群状态异常 root ceph node01 ce
  • Nacos

    一 Nacos Spring Cloud Alibaba https spring io projects spring cloud alibaba Nacos 官网 https nacos io zh cn docs what is na
  • openGL library下载地址

    GLUT下载页面 http www opengl org resources libraries glut glut downloads php GLUT for Win32下载页面 http www xmission com nate g
  • linux系统虚拟机安装centos7

    一 安装 第一步 下载安装VMware Fusion Mac版本下载后双击安装 这里不做过程记录 第二步 下载CentOS 7安装包 CentOS 7 x86 64 DVD 1810 iso 本文不提供下载地址 第三步 在VMware Fu
  • Vue中使用render 封装el-table解决多级表头自定义模板

    vue中多数情况下使用template封装组件逻辑清晰结构简单 但是在某些情况下 比如非常简单的组件 vue render简单解析或者template无法解决某些场景下 使用完全javascirpt能力就显得尤为重要 文章目录 使用rend
  • VB.Net常用的正则表达式(实例)

    d 非负整数 正整数 0 0 9 1 9 0 9 正整数 d 0 非正整数 负整数 0 0 9 1 9 0 9 负整数 d 整数 d d 非负浮点数 正浮点数 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1
  • 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题

    题目 给定一个存放整数的数组 重新排列数组使得数组左边为奇数 右边为偶数 要求 空间复杂度O 1 时间复杂度为O n 我自己写了一下 之前写的那个不对 现在重写了 时间复杂度达到O n void swap int a int i int j
  • python数据可视化-折线图

    可通过ab173 com查看json数据 导入json import json 处理数据 美国为例 f us open D 桌面 折线图数据 美国 txt r encoding UTF 8 us data f us read 美国的全部内容
  • VMware17虚拟机安装及Linux系统搭建(详细版)

    作者简介 大家好 我是小杨 个人主页 小杨 的csdn博客 希望大家多多支持 一起进步呀 前言 VMware是一个虚拟PC的软件 可以在现有的操作系统上虚拟出一个新的硬件环境 相当于模拟出一台新的PC 进行计算机的管理 软件安装 文件的使用
  • 这十个步骤让你的 App 避规ios 4.3被拒问题

    4 3 垃圾应用 请不要为同一个 App 创建多个套装 ID 如果您的 App 针对特定位置 运动队 大学等存在不同版本 请考虑提交单个 App 并提供 App 内购买以提供差异功能 同时 请避免继续在已有大量类似 App 的类别下进行开发
  • kubectl应用

    文章目录 kubectl用法概述 kubectl输出格式 kubectl操作示例 kubectl用法概述 kubectl命令语法 kubectl command TYPE NAME flags 其中 command TYPE NAME fl
  • 如何计算内存大小

    对电子产品 存储介质厂家来说 是按进率1000来计量的 即1000B 1KB 1000KB 1MB 1000MB 1GB 也就是为什么硬盘分区后 会造成缩水 比如80G硬盘实际等于76G 的原因 因为系统是按1024进率来进行分区的 注 我
  • 多文件编程

    文章目录 什么是多文件编程 lt gt 与 多文件编程方法 变量重复定义与头文件重复包含 变量重复定义 头文件重复包含 为什么要避免重复包含 如何解决 1 ifndef 2 pragma once 小总结 什么是多文件编程 多文件编程 指的
  • vite postcss

    PostCSS PostCSS是一款使用JavaScript插件对CSS实现转换的工具 PostCSS拥有非常强大的插件 典型的比如autoprefixer cssnext css modules等 PostCSS插件的处理方式类似CSS预