F-Pattern Layout
F型布局
stylekitMITDashboard · dashboardProfessional · professionalLight · lightMedium · mediumBlue · blueMedium · mediumSerif · serifGeneral · general
基于眼动追踪研究的F型扫描布局,用户视线从左上角开始,沿顶部水平扫描后向下移动,适合内容密集型页面、博客文章和新闻列表。
NNorthwind
Product · PricingSpecimen
Make the work feel finished
One interface, dressed in this style. Compare type, color, radius, and density.
128
Active
4.8
Score
12ms
Edge
Attribution
"F-Pattern Layout" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86.
https://github.com/AnxForever/stylekit · api/styles/f-pattern-layout · bfa7da909e86 · © AnxForever
Do
- 将最重要的内容放在页面顶部(第一条水平线)
- 在左侧放置导航或关键信息(垂直线)
- 使用清晰的标题层级 h1 > h2 > h3
- 使用列表和分段增加可扫描性
- 保持左对齐 text-left 符合阅读习惯
- 使用 max-w-prose 限制行宽提升可读性
Don't
- 禁止将重要内容放在右下角
- 禁止居中对齐大段文字
- 禁止忽视内容的优先级排列
- 禁止使用过长的无分段文字
- 禁止在左侧留白过多
Prompt
用 F-Pattern Layout 设计一个新闻列表页,要求: 1. 顶部:logo + 导航 + 特色头条 2. 第二行:分类标签 + 搜索框 3. 左侧:文章列表(缩略图 + 标题 + 摘要) 4. 右侧:热门文章 + 标签云 5. 所有内容左对齐,优先级从上到下递减 6. 响应式:手机端单列显示 --- "F-Pattern Layout" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86. powered by Styledex — https://styledex.dev
Tokens
DTCG
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "F-Pattern Layout. \"F-Pattern Layout\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86.",
"$extensions": {
"dev.styledex": {
"id": "stylekit-f-pattern-layout",
"license": "MIT",
"attribution": "\"F-Pattern Layout\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86.",
"banner": "powered by Styledex — https://styledex.dev"
}
},
"color": {
"background": {
"$type": "color",
"$value": "#f8f9fa"
},
"foreground": {
"$type": "color",
"$value": "#1a1a2e"
},
"card": {
"$type": "color",
"$value": "#f8f9fa"
},
"card-foreground": {
"$type": "color",
"$value": "#1a1a2e"
},
"primary": {
"$type": "color",
"$value": "#1a1a2e"
},
"primary-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"secondary": {
"$type": "color",
"$value": "#f8f9fa"
},
"secondary-foreground": {
"$type": "color",
"$value": "#1a1a2e"
},
"accent": {
"$type": "color",
"$value": "#e63946"
},
"accent-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"muted": {
"$type": "color",
"$value": "#e9eaeb"
},
"muted-foreground": {
"$type": "color",
"$value": "#6a6a77"
},
"border": {
"$type": "color",
"$value": "#d5d6d7"
},
"destructive": {
"$type": "color",
"$value": "#dc2626"
},
"ring": {
"$type": "color",
"$value": "#1a1a2e"
}
},
"font": {
"sans": {
"$type": "fontFamily",
"$value": [
"ui-sans-serif",
"system-ui",
"sans-serif"
]
},
"serif": {
"$type": "fontFamily",
"$value": [
"ui-serif",
"Georgia",
"serif"
]
},
"mono": {
"$type": "fontFamily",
"$value": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
}
},
"radius": {
"base": {
"$type": "dimension",
"$value": "0.5rem"
}
},
"spacing": {
"base": {
"$type": "dimension",
"$value": "1rem"
}
},
"shadow": {
"base": {
"$type": "shadow",
"$value": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
CSS
/* powered by Styledex — https://styledex.dev */
/* "F-Pattern Layout" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86. */
:root {
--background: #f8f9fa;
--foreground: #1a1a2e;
--card: #f8f9fa;
--card-foreground: #1a1a2e;
--primary: #1a1a2e;
--primary-foreground: #fafaf9;
--secondary: #f8f9fa;
--secondary-foreground: #1a1a2e;
--accent: #e63946;
--accent-foreground: #fafaf9;
--muted: #e9eaeb;
--muted-foreground: #6a6a77;
--border: #d5d6d7;
--destructive: #dc2626;
--ring: #1a1a2e;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
Tailwind
/* powered by Styledex — https://styledex.dev */
/* "F-Pattern Layout" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86. */
/** Tailwind theme extend for F-Pattern Layout (stylekit-f-pattern-layout) */
module.exports = {
"theme": {
"extend": {
"colors": {
"background": "#f8f9fa",
"foreground": "#1a1a2e",
"card": "#f8f9fa",
"primary": "#1a1a2e",
"primary-foreground": "#fafaf9",
"secondary": "#f8f9fa",
"accent": "#e63946",
"muted": "#e9eaeb",
"border": "#d5d6d7",
"destructive": "#dc2626",
"ring": "#1a1a2e"
},
"borderRadius": {
"lg": "0.5rem"
},
"fontFamily": {
"sans": [
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"serif": [
"ui-serif",
"Georgia",
"serif"
],
"mono": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
},
"boxShadow": {
"styledex": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
};
shadcn
/* powered by Styledex — https://styledex.dev */
/* "F-Pattern Layout" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/f-pattern-layout @ bfa7da909e86. */
@layer base {
:root {
--background: #f8f9fa;
--foreground: #1a1a2e;
--card: #f8f9fa;
--card-foreground: #1a1a2e;
--primary: #1a1a2e;
--primary-foreground: #fafaf9;
--secondary: #f8f9fa;
--secondary-foreground: #1a1a2e;
--accent: #e63946;
--accent-foreground: #fafaf9;
--muted: #e9eaeb;
--muted-foreground: #6a6a77;
--border: #d5d6d7;
--destructive: #dc2626;
--ring: #1a1a2e;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
}