PostCSS Color Function 使用教程

PostCSS Color Function 使用教程

postcss-color-functionPostCSS plugin to transform W3C CSS color function to more compatible CSS项目地址:https://gitcode.com/gh_mirrors/po/postcss-color-function

1. 项目的目录结构及介绍

postcss-color-function/
├── lib/
│   ├── index.js
│   ├── parser.js
│   ├── transform.js
│   └── visitor.js
├── test/
│   ├── basic.css
│   ├── basic.expect.css
│   ├── index.js
│   ├── parser.js
│   ├── transform.js
│   └── visitor.js
├── .editorconfig
├── .eslintrc
├── .gitignore
├── .travis.yml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── package.json
└── yarn.lock
  • lib/:包含项目的主要逻辑文件。
    • index.js:入口文件。
    • parser.js:解析颜色函数的文件。
    • transform.js:转换颜色函数的文件。
    • visitor.js:访问者模式的实现文件。
  • test/:包含项目的测试文件。
    • basic.css:测试用的CSS文件。
    • basic.expect.css:测试期望的CSS文件。
    • index.js:测试入口文件。
    • parser.js:测试解析器的文件。
    • transform.js:测试转换器的文件。
    • visitor.js:测试访问者的文件。
  • .editorconfig:编辑器配置文件。
  • .eslintrc:ESLint 配置文件。
  • .gitignore:Git 忽略文件配置。
  • .travis.yml:Travis CI 配置文件。
  • CHANGELOG.md:变更日志。
  • CONTRIBUTING.md:贡献指南。
  • LICENSE:许可证文件。
  • README.md:项目说明文件。
  • package.json:项目依赖和脚本配置文件。
  • yarn.lock:Yarn 锁定文件。

2. 项目的启动文件介绍

项目的启动文件是 lib/index.js,它是整个插件的入口点。该文件导出了一个 PostCSS 插件,用于处理 CSS 中的颜色函数。

// lib/index.js
'use strict';

var parser = require('./parser');
var transform = require('./transform');
var visitor = require('./visitor');

module.exports = function(options) {
  return {
    postcssPlugin: 'postcss-color-function',
    Once(root) {
      root.walkDecls(visitor(parser, transform));
    }
  };
};

module.exports.postcss = true;

3. 项目的配置文件介绍

项目的配置文件主要是 package.json,它包含了项目的依赖、脚本和其他元数据。

{
  "name": "postcss-color-function",
  "version": "4.1.0",
  "description": "PostCSS plugin to transform W3C CSS color function to more compatible CSS.",
  "keywords": [
    "css",
    "postcss",
    "postcss-plugin",
    "color",
    "colour",
    "function"
  ],
  "author": "Maxime Thirouin",
  "license": "MIT",
  "repository": "https://github.com/postcss/postcss-color-function.git",
  "files": [
    "index.js",
    "lib"
  ],
  "dependencies": {
    "css-color-function": "^1.3.3",
    "postcss": "^7.0.2",
    "postcss-message-helpers": "^2.0.0",
    "color": "^0.11.1"
  },
  "devDependencies": {
    "eslint": "^4.19.1",
    "eslint-config-postcss": "^2.0.2",
    "jest": "^22.4.3"
  },
  "scripts": {
    "test": "jest",
    "lint": "eslint ."
  },
  "eslintConfig": {
    "extends": "eslint-config-postcss/es5"
  },
  "jest": {
    "testEnvironment": "node"
  }
}
  • name:项目名称。
  • version:项目版本。
  • description:项目描述。
  • keywords:项目关键词。
  • author:项目作者。
  • license:项目许可证。
  • repository:项目仓库地址。
  • files:项目文件列表。
  • dependencies:项目依赖。
  • devDependencies:开发依赖。
  • scripts:项目脚本。
  • eslintConfig:ESLint 配置。
  • jest:Jest 测试配置。

postcss-color-functionPostCSS plugin to transform W3C CSS color function to more compatible CSS项目地址:https://gitcode.com/gh_mirrors/po/postcss-color-function

PostCSS 插件有很多,以下是 PostCSS 官方网站上列出的所有插件及其作用: 1. PostCSS-import:使用 @import 导入外部 CSS 文件。 2. PostCSS-mixins:类似于 Sass 的 Mixin。 3. PostCSS-nested:允许使用嵌套规则。 4. PostCSS-simple-vars:使用自定义变量,类似于 Sass 的变量。 5. PostCSS-math:进行数学计算。 6. PostCSS-color-function:使用颜色函数。 7. PostCSS-calc:使用 calc 函数。 8. PostCSS-extend:使用类似于 Sass 的 @extend。 9. PostCSS-for:使用类似于 Sass 的 @for。 10. PostCSS-each:使用类似于 Sass 的 @each。 11. PostCSS-conditionals:使用类似于 Sass 的 @if 和 @else。 12. PostCSS-nth-child-fix:支持伪类选择器 :nth-child。 13. PostCSS-modules:将 CSS 类名转换成哈希值,避免类名冲突。 14. PostCSS-pxtorem:将像素值转换成 rem 值,使得页面更好地适配不同大小的设备。 15. PostCSS-zindex:自动计算 z-index 值。 16. PostCSS-font-magician:自动引入相应的字体文件。 17. PostCSS-will-change:为元素添加 will-change 属性。 18. PostCSS-apply:使用类似于 CSS 变量的 @apply。 19. PostCSS-csso:代码压缩优化。 20. PostCSS-discard-comments:去除注释。 21. PostCSS-discard-duplicates:去除重复的样式。 22. PostCSS-discard-empty:去除空的样式。 23. PostCSS-discard-overridden:去除被覆盖的样式。 24. PostCSS-merge-longhand:合并长手写属性。 25. PostCSS-merge-rules:合并相同的规则。 26. PostCSS-minify-font-values:压缩字体值。 27. PostCSS-minify-gradients:压缩渐变值。 28. PostCSS-minify-params:压缩参数值。 29. PostCSS-minify-selectors:压缩选择器。 30. PostCSS-normalize-charset:添加 @charset 规则。 31. PostCSS-normalize-display-values:标准化 display 属性值。 32. PostCSS-normalize-positions:标准化定位属性值。 33. PostCSS-normalize-repeat-style:标准化背景重复和背景平铺属性值。 34. PostCSS-normalize-string:标准化字符串。 35. PostCSS-normalize-timing-functions:标准化缓动函数。 36. PostCSS-normalize-unicode:标准化 Unicode 字符。 37. PostCSS-normalize-url:标准化 URL。 38. PostCSS-normalize-whitespace:标准化空白。 39. PostCSS-ordered-values:按字母顺序排列属性值。 40. PostCSS-reduce-idents:缩短标识符,如类名、id 等。 41. PostCSS-reduce-initial:缩短初始值。 42. PostCSS-reduce-transforms:合并 transform 属性。 43. PostCSS-unique-selectors:去除重复的选择器。 44. PostCSS-pseudo-class-any-link:添加 :any-link 伪类。 45. PostCSS-pseudo-class-first:添加 :first-match 和 :nth-match 伪类。 46. PostCSS-pseudo-class-focus-within:添加 :focus-within 伪类。 47. PostCSS-pseudo-class-last:添加 :last-match 伪类。 48. PostCSS-pseudo-class-matches:添加 :matches 伪类。 49. PostCSS-pseudo-class-not:添加 :not 伪类。 50. PostCSS-pseudo-class-placeholder:添加 ::placeholder 伪类。 51. PostCSS-pseudo-element-any-link:添加 ::any-link 伪元素。 52. PostCSS-pseudo-element-content-insert:添加 ::before 和 ::after 伪元素。 53. PostCSS-pseudo-element-custom-properties:添加 ::part 和 ::theme 伪元素。 54. PostCSS-pseudo-element-dir:添加 ::dir 伪元素。 55. PostCSS-pseudo-element-file-selector-button:添加 ::file-selector-button 伪元素。 56. PostCSS-pseudo-element-fullscreen:添加 ::fullscreen 伪元素。 57. PostCSS-pseudo-element-placeholder-shown:添加 ::placeholder-shown 伪元素。 58. PostCSS-pseudo-element-range-thumb:添加 ::range-thumb 伪元素。 59. PostCSS-pseudo-element-scrollbar:添加 ::scrollbar 伪元素。 60. PostCSS-pseudo-element-scrollbar-button:添加 ::scrollbar-button 伪元素。 61. PostCSS-pseudo-element-scrollbar-track:添加 ::scrollbar-track 伪元素。 62. PostCSS-pseudo-element-scrollbar-track-piece:添加 ::scrollbar-track-piece 伪元素。 63. PostCSS-pseudo-element-slotted:添加 ::slotted 伪元素。 当然,还有很多其他的 PostCSS 插件,可以根据自己的需要来选择和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

樊思露Roger

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

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

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

打赏作者

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

抵扣说明:

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

余额充值