Styledex
← Index

F-Pattern Layout

F型布局

stylekitMITDashboard · dashboardProfessional · professionalLight · lightMedium · mediumBlue · blueMedium · mediumSerif · serifGeneral · general

基于眼动追踪研究的F型扫描布局,用户视线从左上角开始,沿顶部水平扫描后向下移动,适合内容密集型页面、博客文章和新闻列表。

NNorthwind
Product · Pricing
Specimen
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);
}
}