@ecl/layout-wrapper

中文文档
5.4.1发布于 2026/11/10EUPL-1.2近 30 天下载 2806

ECL 布局包装器

中文使用文档
文档目录3 节
  1. 参数
  2. 示例
  3. 如何运作

欧共体 布局包装器

npm 软件包 : @ecl/layout-wrapper

npm install --save @ecl/layout-wrapper

参数

  • "nb 栏" (int)(默认:3):项目栏数(2、3或4)
  • "强制 栏目" (boolean) (默认:虚假): 如果选中的话, 桌面上的列将始终使用固定的编号, 而不是动态地适应容器; 谨慎使用
  • “ 信息位置” (字符串)(默认:"top"): 标题/说明块的位置。 可能的选项:
    • 上: 总是在网格上方堆叠
    • 边: 在更宽的断点旁边的网格; 封入到3列
  • "标题" (对象)(默认: ): 布局包装器的标题
    • "级别" (int)(默认: 2): 标题级别,最高为h4
    • “ 标签”( 字符串)( 默认 : '' ): 标题内容
  • "描述" (字符串)(默认为:""): 对布局包装的描述
  • “项目” (阵列)(默认:[ ]): 在包装中显示的项目. 每个项目可以是:
    • a 字符串( 已放弃)
    • 具有定义组件密钥的对象,例如{卡:{...}}} 支持的组件密钥: 名片、 导航 列表、 内容 项、 文件、 列表 lustration
  • "指导" (字符串)(默认:"水平"): 物品的流动;可以是"横向"或"垂直"
  • "潜水" (boolean) (默认:虚假): 显示行之间的分隔符
  • "全览" (对象)(默认: ): 网格下方的链接显示; 遵循ECL 链接结构
  • "全高"(满分) (boolean) (默认:真实): 在布局包装器的元素 需要全高
  • "超级" (字符串)(默认:"")
  • “外部属性” (阵列) (默认: []):格式: [ { “名称”(字符串)(默认:`'), "值"(可选) (字符串) {\fn华文楷体\fs16\1cHE0E0E0}, . [,

示例

{% include '@ecl/layout-wrapper/layout-wrapper.html.twig' with { 
  title: {
    level: 2,
    label: 'Heading',
  },
  description: 'Description',
  items: [
    card: {
      // Card content, following the component structure 
      ... 
    },
    navigation_list: { 
      // Navigation list content, following the component structure 
      ... 
    },
  ],
  view_all: {
    link: {
      path: '#',
      label: 'View all',
    },
  },
} %}

如何运作

使用布局包装 CSS 集装箱查询 来根据自己的可用宽度而不是取景口来调整其列数。 这意味着无论是将全宽放入还是放在更窄的上下文(如侧边栏布局)内,它都会正确响应.

外边 .ecl-layout-wrapper 要素确定容器上下文(container-type: inline-size) (中文(简体) ). 内在 .ecl-layout-wrapper__grid 元素具有实际的 CSS 网格,并被容器查询所命名.

列断点 (单位:千美元)col-x 变体 :

容器宽度col-2col-3col-4
默认1 科尔1 科尔1 科尔
> m2个相机2个相机2个相机
> l—— 说3 个 cols3 个 cols
> xl—— 说—— 说4 科尔

突出显示变体 (单位:千美元)highlight-col-x)将第一个项目(通常是标题)放入剩余项目的子网格左边。 在较小的面积下,两节垂直堆放.

容器宽度highlight-col-2highlight-col-3
默认堆叠堆叠
> m堆叠, 内容 2 cols堆叠, 内容 2 cols
> l突出显示 qq 2- col 内容堆叠, 内容 3 cols
> xl—— 说突出显示 qq 3- col 内容

垂直流动 (单位:千美元)direction="vertical")在移动到下行之前填入每个列内上下的项目,而不是默认的从左到右顺序:

horizontal (default)     vertical
[ 1 ][ 2 ][ 3 ]          [ 1 ][ 3 ][ 5 ]
[ 4 ][ 5 ][ 6 ]          [ 2 ][ 4 ][ 6 ]

以 grid-auto-flow: column 和明确的 grid-template-rows,它告诉浏览器在被包到下列之前要填入多少行。 以下 > m (单列),垂直流无影响,项目堆放正常.

由于列计数在每个断点都会有变化,因此要求的行计数也会有变化——例如2个cols中的6个项目需要3行,但在3个cols中需要2行. CSS无法动态计算此值, 因此模板会预先计算出所有需要的值, 并将它们输出为单独的自定义属性(--ecl-layout-rows-2, (中文(简体) ), --ecl-layout-rows-3, (中文(简体) ), --ecl-layout-rows-4) (中文(简体) ). 每个容器查询断点然后引用与其活动列数相匹配的变量.

版本与发布记录

@ecl/layout-wrapper 共发布 12 个版本,首次发布于 2026/06/03;过去 12 个月发布了 12 个版本。

版本发布日期距今
5.4.1latest2026/11/103 天前
5.4.02026/10/2222 天前
5.3.22026/10/081 个月前
5.3.12026/09/211 个月前
5.3.02026/09/151 个月前
5.2.22026/09/082 个月前

关于 @ecl/layout-wrapper 的常见问题

@ecl/layout-wrapper 是什么?

ECL 布局包装器

如何安装 @ecl/layout-wrapper?

在项目目录运行 npm install @ecl/layout-wrapper,或使用 pnpm add / yarn add / bun add。

@ecl/layout-wrapper 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/ecl__layout-wrapper 是否存在。

@ecl/layout-wrapper 可以商用吗?

@ecl/layout-wrapper 使用 EUPL-1.2 许可。声明的许可为 EUPL-1.2,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@ecl/layout-wrapper 的下载量有多少?

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

@ecl/layout-wrapper 还在维护吗?

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