HomeStylesTemplates
StyleKit
StylesAnimationsTemplates
BlogChangelog
  1. Home
  2. /Styles
  3. /Fixed Sidebar
Style Catalog/固定侧边栏布局

固定侧边栏布局

Fixed Sidebar

C
69/100Fair

Application layout with a fixed sidebar navigation and scrollable main content area. Ideal for admin dashboards, documentation sites, dashboards, and SaaS applications.

侧边栏后台管理导航仪表盘应用moderncontemporarysleek现代
View Full ShowcaseTemplates

Best For

侧边栏 / 后台 / 管理

Primary Move

Sidebar uses fixed or sticky positioning

Watch Out

Do not make sidebar too wide affecting main content area

Showcase Entry

Live preview of the showcase page. Click to explore the full experience.

View Full Showcase

Color Palette

Primary

#1e293b

Secondary

#f8fafc

Accent 1

#3b82f6

Accent 2

#10b981

Accent 3

#f59e0b

Accent 4

#ef4444

PromptsComponent PreviewExportsRatings & Feedback

Prompts

Hard + Soft Prompts

Use one-click prompts to generate 固定侧边栏布局 style UIs. Hard mode enforces strict constraints; soft mode keeps overall style direction while allowing flexibility.

Hard Prompt

Strict constraints for high style consistency

STYLEKIT_STYLE_REFERENCE
style_name: 固定侧边栏布局
style_slug: sidebar-fixed
style_source: /styles/sidebar-fixed

# Hard Prompt

请严格遵守以下风格规则并保持一致性,禁止风格漂移。

## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。

## Style Rules
# Fixed Sidebar (固定侧边栏布局) Design System

> 固定位置的侧边导航栏与可滚动主内容区的应用布局,适合后台管理、文档站点、仪表盘、SaaS 应用。

## 核心理念

Fixed Sidebar(固定侧边栏布局)是应用型界面的经典布局,提供持久可见的导航同时最大化内容展示空间。

核心理念:
- 导航常驻:重要入口始终可及
- 内容优先:主区域最大化利用
- 层级清晰:侧边栏体现信息架构
- 响应适配:小屏幕优雅收起

设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问

---

## Token 字典(精确 Class 映射)

### 边框
```
宽度: border
颜色: border-zinc-200
圆角: rounded-lg
```

### 阴影
```
小:   shadow-sm
中:   shadow-sm
大:   shadow-md
悬停: hover:shadow-md
聚焦: focus:shadow-sm
```

### 交互效果
```
悬停位移: undefined
过渡动画: transition-colors duration-200
按下状态: active:scale-95
```

### 字体
```
标题: font-semibold tracking-tight
正文: font-sans
```

### 字号
```
Hero:  text-2xl md:text-3xl
H1:    text-xl md:text-2xl
H2:    text-lg md:text-xl
H3:    text-base md:text-lg
正文:  text-sm
小字:  text-xs
```

### 间距
```
Section: py-6 md:py-8
容器:    px-4 md:px-6 lg:px-8
卡片:    p-4 md:p-6
```

---

## [FORBIDDEN] 绝对禁止

以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:

### 禁止的 Class
- `rounded-2xl`
- `rounded-3xl`
- `rounded-full`
- `shadow-2xl`
- `font-black`
- `font-extrabold`
- `text-4xl`
- `text-5xl`
- `text-6xl`

### 禁止的模式
- 匹配 `^rounded-(?:2xl|3xl|full)`
- 匹配 `^shadow-2xl`
- 匹配 `^text-[456]xl`

### 禁止原因
- `rounded-2xl`: Sidebar Fixed uses compact rounded-lg for functional UI elements
- `shadow-2xl`: Sidebar Fixed uses subtle shadows for a clean dashboard feel
- `text-5xl`: Sidebar Fixed uses compact typography appropriate for data-dense layouts

> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
rounded-lg
text-sm font-medium
transition-colors
```

### 卡片必须包含
```
bg-white
rounded-xl
border border-zinc-200
shadow-sm
```

### 输入框必须包含
```
bg-zinc-100
border-0
rounded-lg
text-sm
focus:outline-none focus:ring-2 focus:ring-blue-500/30
```

---

## [COMPARE] 错误 vs 正确对比

### 按钮

[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
  点击我
</button>
```

[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="rounded-lg text-sm font-medium transition-colors bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
  点击我
</button>
```

### 卡片

[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
  <h3 class="text-xl font-semibold">标题</h3>
</div>
```

[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```html
<div class="bg-white rounded-xl border border-zinc-200 shadow-sm p-4 md:p-6">
  <h3 class="font-semibold tracking-tight text-base md:text-lg">标题</h3>
</div>
```

### 输入框

[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```

[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="bg-zinc-100 border-0 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500/30 px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```

---

## [TEMPLATES] 页面骨架模板

使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:

### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
  <div class="flex items-center justify-between max-w-6xl mx-auto">
    <a href="/" class="font-black text-xl md:text-2xl tracking-wider">
      {LOGO_TEXT}
    </a>
    <div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
      {NAV_LINKS}
    </div>
  </div>
</nav>
```

### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
  <div class="max-w-4xl mx-auto">
    <h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
      {HEADLINE}
    </h1>
    <p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
      {SUBHEADLINE}
    </p>
    <button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
      {CTA_TEXT}
    </button>
  </div>
</section>
```

### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
  <div class="max-w-6xl mx-auto">
    <h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{SECTION_TITLE}</h2>
    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
      <!-- Card template - repeat for each card -->
      <div class="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
        <h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
        <p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
      </div>
    </div>
  </div>
</section>
```

### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
  <div class="max-w-6xl mx-auto">
    <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
      <div>
        <span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
        <p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
      </div>
      <div>
        <h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
        <ul class="space-y-2 font-mono text-sm text-gray-400">
          {FOOTER_LINKS}
        </ul>
      </div>
    </div>
  </div>
</footer>
```

---

## [CHECKLIST] 生成后自检清单

**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**

### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`

### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式

### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`

### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`

### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值

### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`

> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**

---

## [EXAMPLES] 示例 Prompt

### 1. 管理后台

完整的后台管理布局

```
Create an admin dashboard with fixed sidebar:
1. Fixed sidebar with logo, search, navigation, user
2. Navigation groups: Dashboard, Content, Users, Settings
3. Active page highlighted in nav
4. Main area with header and content grid
5. Mobile: hamburger menu, slide-out sidebar
6. Collapsible sidebar option (icons only)
7. User dropdown at bottom of sidebar
Professional look with blue accent color
```

### 2. 文档站点

技术文档的侧边导航布局

```
Create a documentation site with fixed sidebar:
1. Sidebar with doc sections (Getting Started, API, Examples)
2. Nested navigation with accordion expand
3. Search at top of sidebar
4. Main content area with article
5. Right sidebar with table of contents (optional)
6. Previous/Next article navigation at bottom
7. Mobile: slide-out sidebar menu
Clean minimal design focused on readability
```

### 3. SaaS 应用

SaaS 产品的应用框架

```
Create a SaaS application shell with fixed sidebar:
1. Sidebar with workspace switcher at top
2. Main nav: Home, Projects, Team, Reports
3. Secondary nav at bottom: Settings, Help
4. Notification badge on nav item
5. Main content with toolbar and data table
6. Mobile: slide-out navigation
7. Collapsible sidebar with keyboard shortcut hint
Modern SaaS aesthetic with subtle shadows
```

Soft Prompt

Flexible constraints for quick ideation

STYLEKIT_STYLE_REFERENCE
style_name: 固定侧边栏布局
style_slug: sidebar-fixed
style_source: /styles/sidebar-fixed

# Soft Prompt

保持整体风格气质即可,允许实现细节灵活调整,但不要偏离核心视觉语言。

## Style Signals
- 侧边栏
- 后台
- 管理
- 导航
- 仪表盘
- 应用

## Prefer
- 侧边栏使用 fixed 或 sticky 定位
- 主内容区设置左边距 ml-64 或 pl-64
- 移动端侧边栏可收起为抽屉或汉堡菜单
- 提供展开/收起侧边栏的控制

## Avoid
- 禁止侧边栏过宽影响主内容区
- 禁止移动端仍保持展开侧边栏
- 禁止忽略当前页面状态指示

## Output Guidance
- 先保证整体风格识别度,再优化细节。
- 避免过度炫技,保持可读性与可维护性。

Component Templates

Component Preview

侧边栏按钮

侧边栏中的操作按钮

New Item
Global Styles

Global CSS

css
/* Fixed Sidebar Global Styles */

/* Sidebar base */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 16rem; /* 256px */
  height: 100vh;
  background: white;
  border-right: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  z-index: 40;
  transition: transform 0.3s ease;
}

/* Main content offset */
.main-content {
  margin-left: 16rem;
  min-height: 100vh;
}

/* Mobile sidebar hidden by default */
@media (max-width: 1024px) {
  .sidebar {
    transform: translateX(-100%);
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .main-content {
    margin-left: 0;
  }
}

/* Sidebar overlay for mobile */
.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 30;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.sidebar-overlay.visible {
  opacity: 1;
  visibility: visible;
}

/* Collapsed sidebar variant */
.sidebar-collapsed {
  width: 4rem; /* 64px */
}

.sidebar-collapsed .sidebar-label {
  display: none;
}

.sidebar-collapsed + .main-content {
  margin-left: 4rem;
}

/* Navigation item active state */
.nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  color: #64748b;
  transition: all 0.2s;
}

.nav-item:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.nav-item.active {
  background: #eff6ff;
  color: #2563eb;
  font-weight: 500;
}
/* Fixed Sidebar Design Tokens */
:root {
  --sidebar-fixed-primary: #1e293b;
  --sidebar-fixed-secondary: #f8fafc;
  --sidebar-fixed-accent: #3b82f6;
  --sidebar-fixed-glow: rgba(30, 41, 59, 0.3);
}

@keyframes sidebar-fixed-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sidebar-fixed-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.sidebar-fixed-card {
  position: relative;
  overflow: hidden;
}

.sidebar-fixed-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.05), transparent);
  pointer-events: none;
}

.sidebar-fixed-card:hover::before {
  opacity: 1;
}

.sidebar-fixed-gradient {
  background: linear-gradient(135deg, #1e293b, #3b82f6);
}

.sidebar-fixed-gradient-text {
  background: linear-gradient(135deg, #1e293b, #3b82f6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sidebar-fixed-frosted {
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: rgba(30, 41, 59, 0.08);
}

.sidebar-fixed-accent-corner {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}

.sidebar-fixed-animate-in {
  animation: sidebar-fixed-fade-in 0.5s ease-out both;
}

Compatible Visual Styles

Try Pairing

固定侧边栏布局 is a layout pattern that can be combined with the following visual styles.

企业简洁风

Corporate Clean

柔和界面风

Soft UI

暗黑模式

Dark Mode

极简扁平风

Minimalist Flat

新拟物派

Neumorphism

IDE Integration

IDE Config Export

Download config files for your AI coding assistant to generate code following this style.

Style Pack

Export Style Pack

Get the complete machine-readable style assets including Design Tokens, Tailwind presets, CSS variables, and shadcn/ui themes.

Metadata

Style metadata including version information

Design Tokens

Compatible with Figma / Style Dictionary / Tokens Studio

Tailwind Preset

Tailwind CSS theme preset, import directly in config

Global CSS

CSS variables and base styles

shadcn Theme

shadcn/ui theme configuration

CSS Variables

Pure CSS variables, works with any project

SKILL.md

Loadable skill pack for Cursor / Claude Code / VS Code

Design Philosophy

Fixed Sidebar is a classic layout for application-type interfaces, providing persistent visible navigation while maximizing content display space.

Accessibility

Accessibility Score

WCAG 2.1 compliance analysis based on color contrast ratios and typography readability.

69

Overall Score

Grade: C - Fair

Contrast Ratios

Score: 73/100Avg Ratio: 7.69:1
AA FailAAA Fail
ContextColorsRatioAAAAA
Text on secondary background
/#18181b / #ffffff
17.72:1
Button primary
/#ffffff / #3b82f6
3.68:1
Text on accent 1
/#18181b / #3b82f6
4.82:1
Text on accent 2
/#18181b / #10b981
6.98:1
Text on accent 3
/#18181b / #f59e0b
8.25:1
Text on accent 4
/#18181b / #ef4444
4.71:1

Readability

Score

58/100

Font Size

text-sm

Font Weight

font-semibold tracking-tight

Line Height

default

Scores are based on WCAG 2.1 guidelines. AA requires 4.5:1 contrast for normal text and 3:1 for large text. AAA requires 7:1 for normal text and 4.5:1 for large text.

Further Reading

Prompt examples, FAQ, and extended use cases

This section is better for readers who already like the direction and want more depth.

StyleKit

Curated web design styles collection for more beautiful AI-generated websites.

Navigation

StylesTemplatesGuideBlogChangelog

Resources

UI Design PromptsLanding Page PromptsDashboard PromptsTailwind UI PromptsDark Mode UI PromptsGitHub Repository

Stay Updated

By subscribing, you agree to our Privacy Policy and Terms.


(c) 2026 StyleKit. Open Source.

AboutContactPrivacyTermsBuilt with Editorial style