@cssints/balance

中文文档
0.35.1发布于 2026/11/07MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 7212

文本- wrap: cssints 的平衡和漂亮, 包含一个在浏览器中平衡行而不用文本- wrap: 平衡的脚本

中文使用文档
文档目录4 节
  1. 浏览器
  2. 规则
  3. 限制
  4. 贷项

@ cssints/ 余额

text-wrap: balance 财务报告和审定财务报表 text-wrap: pretty 页:1 点缀成员 cssints/plugin scope()。 。 。 . css.textWrap("balance") 已经给出了本地特性; 此软件包添加的是倒置: 对于浏览器列表 目标 text-wrap: balance (碱性催化分解) css.properties.text-wrap.balance:Chrome 114, Firefox 121, Safari 17.5), 互联网档案馆的存檔,存档日期2013-12-20, a 0.55 kB 脚本平衡行道 时间/文本平衡器 财务报告和审定财务报表 反应- wrap- 平衡器 来.

import { cn, fontSize } from "cssints" with { type: "cssints" };
import { balance, pretty } from "@cssints/balance" with { type: "cssints" };

export const title = cn(balance(), fontSize("2rem"));
export const lead = pretty();
@layer _.k {
  ._balance-core {
    text-wrap: balance;
  }
  ._balance-prettyCore {
    text-wrap: pretty;
  }
  /* only when a target lacks text-wrap: balance */
  @supports not (text-wrap: balance) {
    ._balance-core {
      --balance-js: 1;
    }
  }
}

浏览器

  • 土著数字 : text-wrap: balance 在Chrome 114、Firefox 121、Safari 17.5中; text-wrap: pretty 在Chrome 117和 Safari 26号,不在Firefox.
  • 运行时间 覆盖每个浏览器 ResizeObserver (Chrome 64, Firefox 69, Safari 13.1). bun run test:browsers 在Chrome, Firefox 和 WebKit 中检查, 本地和本地特性关闭: 脚本 给出与浏览器相同的行.

规则

  • balance() 是一个内核写成样式, css.textWrap("balance"),并有一个运行时间条目 css.properties.text-wrap 财务报告和审定财务报表 css.properties.text-wrap.balance,它涵盖了内核的支持警告。 当a 目标缺少它,工作表得到上述倒置规则: --balance-js: 1 内部 @supports not (text-wrap: balance), (中文(简体) ), 所以它只在一个没有特性的浏览器, 和使用模块 balance() 将脚本导入到 virtual:cssints/runtime/balance.script (运行时的条目命名它, script) (中文(简体) ). 当每个目标都拥有它时 规则或脚本船:运行时模块为空。 无论是哪种方式,都无支持警告,也无任何手工导入.
  • 运行时间 (单位:千美元)@cssints/balance/runtime,没有进口,552个字节已变更和被子化)对一个类别要素采取行动 _balance-core 他们的计算 --balance-js 设置: 二进制搜索最窄 max-width (半数之间) 宽度和所有宽度),保持了元素的高度,所以行数会保持并平出行. 又开始运行了 当元素的父大小调整时( q)ResizeObserver),当其文本更改时,当添加了标记元素时 (单位:千美元)MutationObserver),当字体准备好时.
  • pretty() 实值 text-wrap: pretty 并且没有更多的。 没有小的多填:相当重整段 避免孤儿和被打乱的边缘, 和没有它包装的浏览器 与往常一样, 这是相当改善。 就这样 不需要任何东西, 警告什么也没有 css.textWrap("pretty") 你应当为Firefox而警告 它的内核是原始的CSS, &{text-wrap:pretty},因为没有什么可以掩盖 一种写作风格的警告.
  • 冲突. 两套 text-wrap(单位:千美元) cn() 持有其中之一 text-wrap* 或者说 white-space 是一个建筑 错误. balance()'是源于它的内核, cssints: balance: kernel core sets text-wrap (this style also sets text-wrap)· ; pretty()生的内核不产生,所以一个条目列出它们: cssints: balance: it sets text-wrap (this style also sets text-wrap-style)。 。 。 .

限制

  • 没有条件. 成员是内核的类,全球CSS,不能附加条件: hover(pretty()) 或者说 media(...)(balance()) 调用时的构建错误( i) ::hover wraps _balance-prettyCore, the marker of kernel balance.prettyCore, with no declaration of its own) (中文(简体) ). 在某种条件下,使用 css.textWrap(...) (仅限本土).
  • 倒计时 max-width 框中收窄,其中 text-wrap: balance 留着吧 居中文本 需求 margin-inline: auto 以元素为中心。 内含 max-width 由您自己覆盖.
  • 水平写入模式; 父程序不能从元素中大小( 缩写到适应的父程序可以循环) 与 ResizeObserver) (中文(简体) ).
cd packages/balance && bun run test            # fixtures through the engine (kernel, fallback CSS by target, conflict)
cd packages/balance && bun run typecheck       # and the type test
cd packages/balance && bun run test:browsers   # Chrome, Firefox and WebKit through playwright-core

贷项

这个想法是 时间/文本平衡器 (Apache-2.0,纽约时报) 公司)和 反应- wrap- 平衡器 (麻省理工学院,舒鼎):找到最窄的 宽度,通过二进制搜索来保留行数,当父重排大小时。 剧本在这里写; 不 代码被复制.

版本与发布记录

@cssints/balance 共发布 42 个版本,首次发布于 2026/10/11;过去 12 个月发布了 42 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.35.1latest2026/11/073 天前
0.35.02026/11/073 天前
0.34.02026/11/073 天前
0.33.02026/11/046 天前
0.32.02026/11/046 天前
0.31.02026/11/047 天前

关于 @cssints/balance 的常见问题

@cssints/balance 是什么?

文本- wrap: cssints 的平衡和漂亮, 包含一个在浏览器中平衡行而不用文本- wrap: 平衡的脚本

如何安装 @cssints/balance?

在项目目录运行 npm install @cssints/balance,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:cssints(^0.35.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cssints/balance 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cssints/balance 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cssints/balance 需要什么版本的 Node.js?

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

@cssints/balance 可以商用吗?

@cssints/balance 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cssints/balance 的下载量有多少?

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

@cssints/balance 还在维护吗?

最新版本 0.35.1 发布于 2026/11/07(3 天前);至今共发布 42 个版本,其中过去 12 个月发布了 42 个;首次发布于 2026/10/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。