# @csstools/postcss-image-set-function 中文文档

规范地址：https://npmcn.com/package/%40csstools/postcss-image-set-function/

版本：1\.0\.1
npm 元数据更新时间：2023-07-24T15:03:33.249Z
中文译文更新时间：2026-11-11T03:32:47.603Z
软件包许可：CC0-1\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40csstools/postcss-image-set-function
原文对照：https://npmcn.com/package/%40csstools/postcss-image-set-function/?lang=original
项目主页：https://github.com/jonathantneal/postcss-image-set-function#readme
源码仓库：https://github.com/jonathantneal/postcss-image-set-function

弃用说明：@csstools/postcss-image-set-function is deprecated\. Please use, postcss-image-set-function instead

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：23.1 kB，5 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- Node.js 要求：\>=4\.0\.0
- 运行依赖：2 个
- 首次发布：2018-03-18T23:27:21.747Z
- 最新版本发布：2022-06-20T18:11:18.684Z
- 近 30 天下载量：19214（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

使用 CSS 中的图像集函数显示依赖分辨率的图像

## 安装

```sh
npm install @csstools/postcss-image-set-function
```

也可以使用：`pnpm add @csstools/postcss-image-set-function`、`yarn add @csstools/postcss-image-set-function`、`bun add @csstools/postcss-image-set-function`

## README

后CSS 图像集- 聚合填充( ) 已贬值为赞成 [后图像设定功能](https://www.npmjs.com/package/postcss-image-set-function)。 。 。

# PostCSS 图像集( ) 函数 [![PostCSS Logo](https://postcss.github.io/postcss/logo.svg)](https://github.com/postcss/postcss)

[![NPM Version](https://shields.io/badge/npm-deprecated-red)](https://www.npmjs.com/package/postcss-image-set-function) [![CSS Standard Status](https://cssdb.org/images/badges/image-set-function.svg)](https://cssdb.org/#image-set-function) [![Build Status](https://img.shields.io/travis/jonathantneal/postcss-image-set-function.svg)](https://travis-ci.org/jonathantneal/postcss-image-set-function) [![Discord](https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white)](https://discord.gg/bUadyRwkJS)

[PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 让您显示依赖分辨率的图像 使用 `image-set()` cSS 函数,随 [CSS 图像](https://drafts.csswg.org/css-images-4/#image-set-notation) 规格.

```pcss
.example {
  background-image: image-set(
    url(img.png) 1x,
    url(img@2x.png) 2x,
    url(img@print.png) 600dpi
  );
}

/* becomes */

@media (-webkit-min-device-pixel-ratio: 1), (min-resolution: 96dpi) {
  .example {
    background-image: url(img.png);
  }
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .example {
    background-image: url(img@2x.png);
  }
}


@media (-webkit-min-device-pixel-ratio: 6.25), (min-resolution: 600dpi) {
  .example {
    background-image: url(my@print.png);
  }
}

.example {
  background-image: image-set(
    url(img.png) 1x,
    url(img@2x.png) 2x,
    url(img@print.png) 600dpi
  );
}
```

## 使用量

添加 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 到您的构建工具 :

```bash
npm install postcss-image-set-function --save-dev
```

#### 节点

使用 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 处理您的 CSS :

```js
import postcssImageSetFunction from 'postcss-image-set-function';

postcssImageSetFunction.process(YOUR_CSS, /* processOptions */, /* pluginOptions */);
```

#### 邮政

添加 [邮政](https://github.com/postcss/postcss) 到您的构建工具 :

```bash
npm install postcss --save-dev
```

使用 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 作为插件 :

```js
import postcss from 'gulp-postcss';
import postcssImageSetFunction from 'postcss-image-set-function';

postcss([
  postcssImageSetFunction(/* pluginOptions */)
]).process(YOUR_CSS);
```

#### 网络软件包

添加 [PostCSS 装入器](https://github.com/postcss/postcss-loader) 到您的构建工具 :

```bash
npm install postcss-loader --save-dev
```

使用 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 在您的 Webpack 配置中 :

```js
import postcssImageSetFunction from 'postcss-image-set-function';

module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'style-loader',
          { loader: 'css-loader', options: { importLoaders: 1 } },
          { loader: 'postcss-loader', options: {
            ident: 'postcss',
            plugins: () => [
              postcssImageSetFunction(/* pluginOptions */)
            ]
          } }
        ]
      }
    ]
  }
}
```

#### 古尔普

添加 [Gulp PostCSS (英语)](https://github.com/postcss/gulp-postcss) 到您的构建工具 :

```bash
npm install gulp-postcss --save-dev
```

使用 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 在您的 Gulp 文件中 :

```js
import postcss from 'gulp-postcss';
import postcssImageSetFunction from 'postcss-image-set-function';

gulp.task('css', () => gulp.src('./src/*.css').pipe(
  postcss([
    postcssImageSetFunction(/* pluginOptions */)
  ])
).pipe(
  gulp.dest('.')
));
```

#### 格鲁特

添加 [Grunt 邮政CSS](https://github.com/nDmitry/grunt-postcss) 到您的构建工具 :

```bash
npm install grunt-postcss --save-dev
```

使用 [PostCSS 图像集( ) 函数](https://github.com/jonathantneal/postcss-image-set-function) 在您的 Grunt 文件中 :

```js
import postcssImageSetFunction from 'postcss-image-set-function';

grunt.loadNpmTasks('grunt-postcss');

grunt.initConfig({
  postcss: {
    options: {
      use: [
       postcssImageSetFunction(/* pluginOptions */)
      ]
    },
    dist: {
      src: '*.css'
    }
  }
});
```

## 选项

### 保护

这个 `preserve` 选项决定原始声明是否使用 `image-set()` 被保存下来。 默认保存.

```js
postcssImageSetFunction({ preserve: false })
```

```pcss
.example {
  background-image: image-set(
    url(img.png) 1x,
    url(img@2x.png) 2x,
    url(img@print.png) 600dpi
  );
}

/* becomes */

@media (-webkit-min-device-pixel-ratio: 1), (min-resolution: 96dpi) {
  .example {
    background-image: url(img.png);
  }
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .example {
    background-image: url(img@2x.png);
  }
}


@media (-webkit-min-device-pixel-ratio: 6.25), (min-resolution: 600dpi) {
  .example {
    background-image: url(my@print.png);
  }
}
```

### 认证

这个 `oninvalid` 选项决定如何无效使用 `image-set()` 应该是 处理。 默认的无效用法 `image-set()` 被忽略。 他们可以 配置到显示 a `warning` 或者说 `throw` 错误.

```js
postcssImageSetFunction({ oninvalid: 'warning' }) // warn on invalid usages
```

```js
postcssImageSetFunction({ oninvalid: 'throw' }) // throw on invalid usages
```

## 常见问题

### @csstools/postcss-image-set-function 是什么？

使用 CSS 中的图像集函数显示依赖分辨率的图像注意：该包已被作者标记为弃用——@csstools/postcss-image-set-function is deprecated\. Please use, postcss-image-set-function instead

### 如何安装 @csstools/postcss-image-set-function？

在项目目录运行 npm install @csstools/postcss-image-set-function，或使用 pnpm add / yarn add / bun add。

### @csstools/postcss-image-set-function 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/csstools\_\_postcss-image-set-function 是否存在。

### @csstools/postcss-image-set-function 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @csstools/postcss-image-set-function 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=4\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @csstools/postcss-image-set-function 可以商用吗？

@csstools/postcss-image-set-function 使用 CC0-1\.0 许可。作者放弃著作权，可不受限制地使用。以上为概括，不构成法律意见，请以许可原文为准。

### @csstools/postcss-image-set-function 的下载量有多少？

根据 npm 官方下载统计，@csstools/postcss-image-set-function 在 2026/10/11 – 2026/11/09 这 30 天内被下载 19,214 次，日均约 640 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @csstools/postcss-image-set-function 还在维护吗？

最新版本 1\.0\.1 发布于 2022/06/21（4 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/03/19。作者已将其标记为弃用，新项目建议寻找替代方案。

