mcpField
F
framed-grid-layout

framed-grid-layout

github.com/boraoztunc设计与 UI43497 次安装11 周前更新
代码仓库

关于 framed-grid-layout

framed-grid-layout 是一套用于构建边界清晰、整齐对齐页面的设计技能,适合需要技术感或编辑式结构的界面。它以统一网格、细边框和 L 形角标规范布局。

主要功能

  1. 01统一父级网格与对齐节奏
  2. 02细边框和 L 形角标
  3. 03一致的间距与内边距
  4. 04低透明度斜向纹理
  5. 05明确网格跨度与响应式布局

适用场景

  1. 01构建分区清晰的技术页面
  2. 02统一多栏内容与媒体边缘
  3. 03为桌面和移动布局规范间距

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/boraoztunc/skills --skill framed-grid-layout

安装后在 Claude Code 中输入/framed-grid-layout确认已加载。

详细介绍

网格式布局

适用场景

  • 页面需要简洁的技术结构,并清晰呈现各个区块的边界。
  • 内容需要给人精确、有序、编辑感或系统化的印象。
  • 设计需要细线参考边框、L 形角括号和统一的框线。

布局规则

  1. 先定义父级网格;让每个区块都与相同的列和行对齐。
  2. 整个页面使用一种边框颜色、一种角括号颜色和一套间距尺度。
  3. 保持框线矩形且精确。避免悬浮卡片、柔和的团块和不均匀的边距。
  4. 使用细线:1px 边框、低对比度分隔线和微妙的角括号标记。
  5. 添加极低不透明度的对角背景纹理;它应当只营造出表面张力。
  6. 将区块内边距、标题、控件和媒体边缘对齐到相同的网格节奏。
  7. 使用统一的间隔分隔区块,而不是随意留白。

基础令牌

使用中性色,并根据主题调整对比度。

:root {
  --fg-bg: #f7f7f4;
  --fg-surface: rgba(255, 255, 255, 0.62);
  --fg-line: rgba(24, 24, 27, 0.14);
  --fg-line-strong: rgba(24, 24, 27, 0.34);
  --fg-texture: rgba(24, 24, 27, 0.035);
  --fg-gap: 16px;
  --fg-pad: clamp(16px, 2vw, 28px);
  --fg-corner: 18px;
}

父级网格

使用父级网格确保垂直和水平对齐。

.framed-grid {
  min-height: 100vh;
  padding: var(--fg-gap);
  background:
    repeating-linear-gradient(
      135deg,
      transparent 0 11px,
      var(--fg-texture) 11px 12px
    ),
    var(--fg-bg);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--fg-gap);
}

.framed-grid > * {
  min-width: 0;
}

框线区块

每个区块使用相同的盒模型、线条粗细和内边距。

.frame {
  position: relative;
  border: 1px solid var(--fg-line);
  background: var(--fg-surface);
  padding: var(--fg-pad);
  overflow: hidden;
}

.frame + .frame {
  margin-top: 0;
}

L 形角括号

使用背景图层,让角括号保持清晰,无需额外标记。

.frame-brackets {
  background:
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) left top / var(--fg-corner) 1px no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) left top / 1px var(--fg-corner) no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) right top / var(--fg-corner) 1px no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) right top / 1px var(--fg-corner) no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) left bottom / var(--fg-corner) 1px no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) left bottom / 1px var(--fg-corner) no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) right bottom / var(--fg-corner) 1px no-repeat,
    linear-gradient(var(--fg-line-strong), var(--fg-line-strong)) right bottom / 1px var(--fg-corner) no-repeat,
    var(--fg-surface);
}

区块跨列

优先使用明确的网格跨列设置,而不是临时调整宽度。

.span-12 { grid-column: span 12; }
.span-8 { grid-column: span 8; }
.span-6 { grid-column: span 6; }
.span-4 { grid-column: span 4; }

@media (max-width: 760px) {
  .framed-grid {
    grid-template-columns: 1fr;
  }

  .span-12,
  .span-8,
  .span-6,
  .span-4 {
    grid-column: 1 / -1;
  }
}

示例

<main class="framed-grid">
  <section class="frame frame-brackets span-12">...</section>
  <section class="frame frame-brackets span-8">...</section>
  <aside class="frame frame-brackets span-4">...</aside>
  <section class="frame frame-brackets span-6">...</section>
  <section class="frame frame-brackets span-6">...</section>
</main>

风格规则

  • 即使区块内部内容各不相同,也要让框线与父级网格对齐。
  • 只有在产品风格需要时,才使用直角或轻微圆角。
  • 相邻框线不要混用不同的边框粗细。
  • 不要添加厚重的阴影;可见的框线就是结构本身。
  • 将对角纹理的不透明度保持在 0.05 以下。
  • 在所有主要区块中,保持角括号尺寸一致。

快速检查

  • 区块边缘在垂直和水平方向上对齐。
  • 每个框线都使用相同的边框、内边距和角括号尺寸。
  • 桌面端和移动端的框线间隔保持一致。
  • 只有仔细观察时才能看到对角纹理。
  • 移除纹理图层后,布局仍然清晰易读。

评论

支持 Markdown