[Demo]
№ 241
自适应布局
定义 Definition
根据设备屏幕宽度,自动选择最合适的预设布局模板,而不是拉伸内容,确保信息层级清晰、体验一致。
要目 Key Points
预设版本提前设计多套布局模板,覆盖不同屏幕范围。
按屏切换根据屏幕宽度自动识别,切换对应布局模板。
多套模板针对内容特点定制模板,满足多样化信息展示。
用法 Application
面向 320px 小屏、768px 中屏、1200px 大屏等不同设备屏幕,按预设模板自动切换布局。
关键词 Keywords
自适应布局预设模板按屏切换屏幕宽度
参见 Related
易混 Confusable
回忆评估 Review
看完海报,凭回忆作答——评分后排入复习队列
实况演示
Live Demo · 真实 HTML/CSS关键 CSS fold / unfold
/* ═══ 本 demo 自定义样式 ═══ */ .a-page { width: 300px; margin: 0 auto; display: grid; gap: 8px; } .a-page .row { display: grid; gap: 8px; } .a-page .blk { min-height: 46px; } .bp { font-family: var(--mono); font-size: 10px; color: var(--accent); letter-spacing: .1em; margin: 0 0 8px; } @media (min-width: 460px) { .a-page { width: 440px; } .a-page .row { grid-template-columns: 1fr 1fr; } .bp::after { content: "档位 2 · 440PX 双列"; } } @media (min-width: 760px) { .a-page { width: 680px; } .a-page .row { grid-template-columns: repeat(3, 1fr); } .bp::after { content: "档位 3 · 680PX 三列"; } } /* ═══ 共享令牌类 · demo 外壳已内置 ═══ */ .blk { background: color-mix(in srgb, var(--ink) 4%, transparent); border: 1px solid var(--line); border-radius: 2px; display: grid; place-items: center; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; color: var(--ink-2); padding: 10px; min-height: 34px; } .blk.acc { background: color-mix(in srgb, var(--accent) 12%, transparent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent); } .blk.ink { background: var(--ink); color: var(--paper); border-color: var(--ink); } .tag { display: inline-block; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; border: 1px solid var(--line); color: var(--ink-2); padding: 2px 8px; border-radius: 2px; background: var(--paper-2); } .card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; } .card .cv { aspect-ratio: 16/10; background: color-mix(in srgb, var(--accent) 10%, var(--paper-2)); border-bottom: 1px solid var(--line); } .card .bd { padding: 9px 10px; } .card .bd .t { font-weight: 600; font-size: 12.5px; } .card .bd .m { font-family: var(--mono); font-size: 10px; color: var(--ink-3); margin-top: 2px; } .avatar { width: 34px; height: 34px; border-radius: 50%; flex: none; background: color-mix(in srgb, var(--accent) 22%, var(--paper-2)); border: 1px solid var(--line); } .fake-text { height: 8px; background: color-mix(in srgb, var(--ink) 10%, transparent); border-radius: 1px; } .fake-text.w60 { width: 60%; } .fake-text.w80 { width: 80%; } .fake-text.w40 { width: 40%; } .fake-text + .fake-text { margin-top: 6px; }