📐 使用说明:本文档为包豪斯风格的UI设计规范示例文档。
🎯 目的:定义基于20世纪早期德国包豪斯学校功能主义美学的设计理念、风格和规范,体现"形式服从功能"的设计哲学,营造理性、前卫且具有工业美感的视觉效果。
功能至上 · 几何纯粹 · 理性秩序
严格遵循包豪斯学校的功能主义美学原则,运用基本几何形状作为核心设计元素,限制色彩为基本原色系统,强调清晰理性的排版布局。通过严格的网格系统和无装饰的设计语言,打造如同1920年代包豪斯教材般的纯粹视觉体验,体现工业时代的理性美学。
🏛️ 包豪斯风格 - 功能主义美学的纯粹体现
本设计风格专为追求纯粹功能美学和理性设计的应用场景设计,适合对设计有深度理解的专业用户群体:
严格遵循包豪斯三原色理念
#E31E24
(Pure Red - 纯红色)#FFD100
(Pure Yellow - 纯黄色)#0055A4
(Pure Blue - 纯蓝色)#000000
(Pure Black)#FFFFFF
(Pure White)#808080
(50% Gray)#D3D3D3
(Light Gray)#404040
(Dark Gray)严格限制为三种基本几何形状
.square-element {
width: 48px;
height: 48px;
background: #E31E24;
border: none;
border-radius: 0;
}
.rectangle-element {
width: 120px;
height: 48px;
background: #0055A4;
border: none;
border-radius: 0;
}
.circle-element {
width: 48px;
height: 48px;
background: #FFD100;
border-radius: 50%;
border: none;
}
.circle-button {
width: 64px;
height: 64px;
background: #000000;
border-radius: 50%;
border: 2px solid #FFFFFF;
}
.triangle-element {
width: 0;
height: 0;
border-left: 24px solid transparent;
border-right: 24px solid transparent;
border-bottom: 42px solid #E31E24;
}
.triangle-indicator {
width: 0;
height: 0;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 14px solid #000000;
}
严格使用无衬线字体
.bauhaus-font-system {
font-family: 'Futura', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
font-weight: normal;
letter-spacing: 0.05em;
}
.title-primary {
font-size: 48px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.1em;
line-height: 1.2;
}
.title-secondary {
font-size: 32px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.08em;
line-height: 1.3;
}
.body-text {
font-size: 16px;
font-weight: normal;
line-height: 1.5;
letter-spacing: 0.02em;
}
.caption-text {
font-size: 12px;
font-weight: normal;
text-transform: uppercase;
letter-spacing: 0.05em;
line-height: 1.4;
}
严格的模块化布局
.bauhaus-grid {
display: grid;
grid-template-columns: repeat(12, 1fr);
grid-gap: 24px;
max-width: 1200px;
margin: 0 auto;
}
.grid-module {
grid-column: span 3;
aspect-ratio: 1:1;
background: #FFFFFF;
border: 2px solid #000000;
}
.grid-module-wide {
grid-column: span 6;
aspect-ratio: 2:1;
background: #D3D3D3;
border: 1px solid #000000;
}
几何形状驱动的功能性按钮
.btn-bauhaus-primary {
width: 120px;
height: 48px;
background: #E31E24;
color: #FFFFFF;
border: none;
border-radius: 0;
font-family: 'Futura', sans-serif;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.05em;
cursor: pointer;
transition: background-color 0.2s ease;
}
.btn-bauhaus-primary:hover {
background: #000000;
}
.btn-bauhaus-secondary {
width: 120px;
height: 48px;
background: #FFFFFF;
color: #000000;
border: 2px solid #000000;
border-radius: 0;
font-family: 'Futura', sans-serif;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.btn-circle {
width: 56px;
height: 56px;
background: #FFD100;
border: none;
border-radius: 50%;
cursor: pointer;
transition: background-color 0.2s ease;
}
严格几何边界的内容容器
.card-bauhaus {
background: #FFFFFF;
border: 3px solid #000000;
border-radius: 0;
padding: 24px;
margin-bottom: 24px;
box-shadow: none;
}
.card-bauhaus-accent {
background: #FFD100;
border: 3px solid #000000;
border-radius: 0;
padding: 24px;
margin-bottom: 24px;
}
.card-header {
border-bottom: 2px solid #000000;
padding-bottom: 12px;
margin-bottom: 24px;
}
.card-header h3 {
font-size: 24px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 0;
}
功能性优先的输入控件
.form-bauhaus {
display: grid;
grid-gap: 24px;
}
.input-bauhaus {
width: 100%;
height: 48px;
background: #FFFFFF;
border: 2px solid #000000;
border-radius: 0;
padding: 0 16px;
font-family: 'Helvetica', sans-serif;
font-size: 16px;
outline: none;
}
.input-bauhaus:focus {
border-color: #E31E24;
background: #FFFFFF;
}
.label-bauhaus {
font-family: 'Futura', sans-serif;
font-size: 12px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #000000;
margin-bottom: 8px;
display: block;
}
.checkbox-bauhaus {
width: 20px;
height: 20px;
border: 2px solid #000000;
border-radius: 0;
background: #FFFFFF;
}
.checkbox-bauhaus:checked {
background: #E31E24;
}
基于包豪斯设计原理的页面结构
.page-bauhaus {
display: grid;
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
grid-template-rows: 80px 1fr 60px;
grid-template-columns: 240px 1fr 1fr;
min-height: 100vh;
gap: 0;
}
.header-bauhaus {
grid-area: header;
background: #000000;
color: #FFFFFF;
display: flex;
align-items: center;
padding: 0 24px;
border-bottom: 4px solid #E31E24;
}
.sidebar-bauhaus {
grid-area: sidebar;
background: #D3D3D3;
border-right: 2px solid #000000;
padding: 24px;
}
.main-bauhaus {
grid-area: main;
background: #FFFFFF;
padding: 24px;
}
.footer-bauhaus {
grid-area: footer;
background: #808080;
color: #FFFFFF;
display: flex;
align-items: center;
padding: 0 24px;
}
.content-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 24px;
padding: 24px 0;
}
.grid-item {
background: #FFFFFF;
border: 2px solid #000000;
aspect-ratio: 1:1;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.grid-item::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
width: 16px;
height: 16px;
background: #E31E24;
}
几何形状指示的功能导航
.nav-bauhaus {
display: flex;
flex-direction: column;
gap: 0;
}
.nav-item {
display: flex;
align-items: center;
height: 48px;
padding: 0 16px;
background: #D3D3D3;
border-bottom: 1px solid #000000;
color: #000000;
text-decoration: none;
font-family: 'Futura', sans-serif;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.05em;
transition: background-color 0.2s ease;
}
.nav-item:hover {
background: #FFD100;
}
.nav-item.active {
background: #E31E24;
color: #FFFFFF;
}
.nav-item::before {
content: '';
width: 8px;
height: 8px;
background: currentColor;
margin-right: 12px;
}
.nav-item.primary::before {
border-radius: 0; /* 方形 */
}
.nav-item.secondary::before {
border-radius: 50%; /* 圆形 */
}
.nav-item.tertiary::before {
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 8px solid currentColor;
background: transparent;
}
.breadcrumb-bauhaus {
display: flex;
align-items: center;
gap: 16px;
padding: 16px 0;
border-bottom: 1px solid #000000;
margin-bottom: 24px;
}
.breadcrumb-item {
font-family: 'Helvetica', sans-serif;
font-size: 14px;
color: #000000;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.02em;
}
.breadcrumb-separator {
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 10px solid #000000;
}
功能性颜色编码
.chart-bauhaus {
--chart-red: #E31E24;
--chart-yellow: #FFD100;
--chart-blue: #0055A4;
--chart-black: #000000;
--chart-gray: #808080;
}
.bar-chart-item {
fill: var(--chart-red);
stroke: var(--chart-black);
stroke-width: 2;
}
.line-chart {
stroke: var(--chart-blue);
stroke-width: 3;
fill: none;
}
.pie-chart-segment:nth-child(1) {
fill: var(--chart-red);
}
.pie-chart-segment:nth-child(2) {
fill: var(--chart-yellow);
}
.pie-chart-segment:nth-child(3) {
fill: var(--chart-blue);
}
纯几何形状图标
.icon-bauhaus {
display: inline-block;
width: 24px;
height: 24px;
position: relative;
}
.icon-square {
background: #000000;
width: 100%;
height: 100%;
}
.icon-circle {
background: #000000;
width: 100%;
height: 100%;
border-radius: 50%;
}
.icon-triangle {
width: 0;
height: 0;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
border-bottom: 24px solid #000000;
}
.icon-plus {
position: relative;
background: transparent;
}
.icon-plus::before,
.icon-plus::after {
content: '';
position: absolute;
background: #000000;
}
.icon-plus::before {
width: 20px;
height: 4px;
top: 10px;
left: 2px;
}
.icon-plus::after {
width: 4px;
height: 20px;
top: 2px;
left: 10px;
}
理性克制的功能性动效
.transition-bauhaus {
transition: all 0.2s linear;
}
.hover-effect {
transition: background-color 0.2s linear;
}
.click-effect {
transition: transform 0.1s linear;
}
.click-effect:active {
transform: scale(0.95);
}
/* 禁止复杂动画 */
.no-complex-animation {
animation: none;
transform: none;
filter: none;
}
.state-active {
background: #E31E24;
color: #FFFFFF;
border-color: #E31E24;
}
.state-disabled {
background: #D3D3D3;
color: #808080;
border-color: #808080;
cursor: not-allowed;
}
.state-loading::after {
content: '';
width: 16px;
height: 16px;
border: 2px solid #808080;
border-top: 2px solid #000000;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
基于模块化网格的响应式适配
/* 移动端 */
@media (max-width: 767px) {
.bauhaus-grid {
grid-template-columns: 1fr;
grid-gap: 16px;
padding: 16px;
}
.page-bauhaus {
grid-template-areas:
"header"
"main"
"sidebar"
"footer";
grid-template-rows: 60px 1fr auto 50px;
grid-template-columns: 1fr;
}
.title-primary {
font-size: 32px;
}
}
/* 平板端 */
@media (min-width: 768px) and (max-width: 1024px) {
.bauhaus-grid {
grid-template-columns: repeat(8, 1fr);
grid-gap: 20px;
}
.grid-module {
grid-column: span 2;
}
.grid-module-wide {
grid-column: span 4;
}
}
/* 桌面端 */
@media (min-width: 1025px) {
.bauhaus-grid {
grid-template-columns: repeat(12, 1fr);
grid-gap: 24px;
}
}
高对比度设计原则
.high-contrast {
color: #000000;
background: #FFFFFF;
border: 2px solid #000000;
}
.contrast-warning {
color: #FFFFFF;
background: #E31E24;
border: 2px solid #000000;
}
.contrast-info {
color: #FFFFFF;
background: #0055A4;
border: 2px solid #000000;
}
.focusable:focus {
outline: 3px solid #E31E24;
outline-offset: 2px;
}
.skip-link {
position: absolute;
top: -40px;
left: 6px;
background: #000000;
color: #FFFFFF;
padding: 8px;
text-decoration: none;
transition: top 0.2s;
}
.skip-link:focus {
top: 6px;
}
设计哲学引用:
"The ultimate goal of the architect...is to create a paradise. Every house, every product of architecture... should be a fruit of our endeavor to build an earthly paradise for people."
— Walter Gropius, 包豪斯学校创始人
"Form follows function – that has been misunderstood. Form and function should be one, joined in a spiritual union."
— Frank Lloyd Wright (深受包豪斯影响的建筑师)