bootstrap 5 值得用,定位是实用优先的组件化 css+js 库:默认无 jquery 依赖、内置 popper、需手动初始化 js 组件,适合管理后台等快速交付项目。

frameset 已被现代浏览器弃用,HTML5 中不再支持。现在说的「HTML框架」实际指前端 CSS/JS 框架,用于快速构建响应式页面结构和 UI 组件 —— 选错框架或混用旧文档,轻则样式失效,重则在 Safari 或低版本 Edge 上白屏。
Bootstrap 5 还值得用吗?
值得,但得清楚它现在的定位:一个成熟的、以实用优先的组件化 CSS+JS 库,不是“万能胶”。它默认不依赖 jQuery,bootstrap.bundle.min.js 内置 Popper,但移除了所有 data-* 自动初始化逻辑(需手动调用 new Modal() 等)。
- 适合快速交付管理后台、企业官网类项目,尤其当你团队熟悉它的类名体系(如
btn btn-outline-success) - Grid 系统基于 CSS Grid + Flexbox 混合,
col-md-6仍可用,但container-fluid默认启用max-width断点限制,需覆盖 CSS 才能全宽 - 自定义主题必须用 Sass 编译,直接改 CDN 引入的 CSS 文件无效;变量如
$body-bg和$primary控制全局色系,改了要重新 build - 注意:v5.3+ 移除了
float-left/float-right,统一用float-start/float-end,老项目升级时控制台会报Unknown utility
Foundation 和 Bulma 的关键差异在哪?
Foundation 更像一个“可配置的系统”:它提供大量 JS 插件(OffCanvas、Sticky),但默认不加载任何 JS,全靠开发者按需 import;Bulma 则是纯 CSS 框架,没有 JS 成分,所有交互(如下拉菜单、模态框)得自己写或配第三方库(如 alpinejs)。
- Foundation 的网格用
grid-x+cell small-12 medium-6,语义清晰但类名略长;Bulma 用columns+column is-half,更短,但响应式断点只有is-mobile/is-tablet/is-desktop三级,不够细 - Bulma 的按钮、表单等组件默认无 focus outline,无障碍测试(WCAG)会失败,必须手动加
outline: 2px solid #007bff类 - Foundation 默认启用
rem基准和自动媒体查询生成,Bulma 全部用em和硬编码像素值,缩放兼容性略弱
为什么 Semantic UI 和 Materialize 在新项目里要谨慎?
Semantic UI 的类名(如 ui huge primary button)看似自然,但编译后 CSS 体积比 Bootstrap 大 30%+,且其官方 GitHub 自 2022 年起已归档,semantic-ui-css npm 包停止更新;Materialize 依赖 jQuery 3.x,而 jQuery 官方已宣布 2024 年底终止对 3.x 的安全维护。
- 两者都重度依赖
!important覆盖原生样式,导致定制时经常要写!important !important才生效 - Materialize 的
datepicker在 iOS Safari 上点击无反应,原因是它监听了touchstart却没阻止默认行为,需额外 patch - Semantic UI 的
dimmer组件 z-index 默认设为 1000,极易和第三方弹窗(如react-toastify)冲突,且无配置项可调
纯 CSS 框架如 Tailwind 和 Picnic 怎么选?
Tailwind 是原子类(atomic CSS)代表,text-center p-4 bg-blue-500 hover:bg-blue-600 直接映射到样式;Picnic 是极简派,只提供 .button、.card 等基础块,连颜色类都不带,全靠你自己写 CSS。
- Tailwind 需配合
tailwind.config.js配置色板、断点、字体,否则默认生成的 CSS 文件超 3MB,上线前必须purge(现在叫content配置) - Picnic 仅 4KB,但没有任何响应式能力,
.grid类只是简单 float 布局,移动端需自己补媒体查询 - 用 Tailwind 时,
@layer components写复用样式比堆 class 更可控;但若团队里有人习惯写class="w-1/2 md:w-1/3 lg:w-1/4",后期重构成本极高
container,有人直接写 max-width: 1200px,混合之后 margin 嵌套错乱,调试时得翻三遍 DevTools 才能定位到哪层 padding 是谁加的。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











