Bulma笔记
前端不适合我,怎么写怎么烂,这种框架大概是救我狗命的。为了演示,本文已引入 Bulma 的 CSS 文件。
简介
开抄: Bulma css 框架是一个免费的、开源的框架,它提供了可随时使用的前端组件,可以轻松地将这些组件组合起来构建响应性强的web界面。Bulma css 框架无需任何CSS知识即可开发网站。(really?)完全基于 Flexbox。Flexbox 是一个相对较新的CSS规范,不过使用 Bulma 无须了解 Flexbox (really?)Bulma 框架所有样式都基于 class,只需为HTML元素指定 class,样式立刻生效。
反正样式确实是不想写,Bootstrap 也确实不想看,开冲。
与其他CSS框架相比,Bulma 有如下不同之处。
- 现代化:整个
Bulma是基于CSS Flexbox设计的。 - 响应式:
Bulma的设计同时支持移动端和桌面设备。 - 易学:大多数用户只需几分钟便能入门。
- 语法简单:
Bulma使用更少的HTML,所以代码易于阅读和编写。 - 可定制:
Bulma提供了300多个SASS变量,基于这些样式变量,你可以定制自己的主题框架。 - 无JavaScript:
Bulma完全基于CSS设计编写,因此可以很优雅地与任何JavaScript框架(Angular、Vue.js、React、Ember或者纯JavaScript应用)集成。
安装与定制
下载源码版本,根目录文件为配置文件sass目录下为定制源码,css目录下为官方生成文件。
或者安装 npm 包、克隆等,看着办。
1 | npm install bulma |
引用
本地引用:下载后把bulma.min.css文件放在网站目录,css目录下,在网页中引用即可
css导入
1
2
3@import "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css";
@import "bulma.min.css"HTML链接
1
2
3
4
5cdn的
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
本地的
<link rel="stylesheet" href="css/bulma.min.css"/>
要求
要正常运行,就得用HTML5文档类型,添加响应式视窗元标记(responsive viewport meta tag)。不过都已经塞到模板里了,阅读下一小节。修修补补开始。
1 |
|
入门模板
直接复制然后修修补补,很好,很friendly。
这个是网络引用,本地的话改一改 <link>
1 |
|
基本用法
插入css样式表以后,直接用就可以了。
修饰符
为HTML元素加上 class 渲染成基类,再添加以 is- 或 has- 开头的修饰类,即可改变基类样式。button 类实例代码如下。其中,修饰符可以相互组合,尺寸、颜色与状态等,以实现样式呈现需求。
1 | <a class="button is-small is-primary">Small</a> |
模块化
Bulma 包含39 个 .sass 文件,可以单独导入这些文件。例如只需要 Bulma columns,文件位于 bulma/sass/grid 文件夹中。 只需要 button 类,文件位于bulma/sass/elements
只需导入实用程序依赖项,然后直接导入需要的文件,即可使用该类及其所有修饰符。
1 | @import "bulma/sass/utilities/_all.sass" |
响应式布局
Bulma 有4 个断点,定义了5 种屏幕尺寸:
mobile: 取决于768pxtablet: 从769pxdesktop: 从1024pxwidescreen: 从1216pxfullhd: 从1408px
在设计CSS时,注意不同响应布局的调整,如基于断点的间隙设计,可以使用 is-1-mobile 、is-0-tablet、 is-3-desktop、 is-8-widescreen 、is-2-fullhd 等间隙布局。
最后,Bulma 提供了易于使用的响应式混合宏,
栅格系统
使用 columns 指定容器,使用 column 指定项目。使用修饰类用来指定项目的宽度。有 is-three-quarters 分数式,有 is-2 12网格体系,有 is-offset- 网格偏移修饰类。不加修饰时,各项目平分容器宽度。
1 | <link rel="stylesheet" href="../personal/css/bulma.min.css"/> |
1 | <div class="columns is-variable"> |
CSS库
包括列、元素、组件、表单、布局、辅助等项目。需要的时候翻阅文档。
如组件库,有面包屑、卡片、下拉菜单、导航栏等选项,每一类有各自对应的属性,边用边查。
定制
这个比较high level了,毕竟代码我是一点不懂的,我只能尽量抄得比较通俗易懂。
Bulma是一个易于自定义的CSS框架,可以通过以下几种方式实现:
- 重写Bulma的初始变量和继承变量;
- 重写Bulma的组件变量;
- 添加自己的变量;
- 重写Bulma的样式;
- 添加自己的样式。
下面简要描述一种方法:
下载源码以及依赖:
1 | git clone https://github.com/jgthms/bulma.git |
新建 mystyle.sass 文件,写定制代码,该文件需要引入 Bulma 基础变量,然后修改预设变量,下例修改了blue
1 | @import "./sass/utilities/initial-variables" |
加载入口脚本,之后再写自己需要的样式
1 | @import "./bulma" |
最后,打开package.json,找到下面这行。把里面的bulma.sass改成mystyle.sass。
1 | "build-sass": "node-sass --output-style expanded --source-map true bulma.sass css/bulma.css", |
以后每次修改完样式,运行一下npm run build,就会生成自己的样式表css/bulma.css了。
参考
有什么还是看官方文档最快。另外,百闻不如一写,记了点笔记入了门就行(写这种笔记确实有够烦),所以本博客的额外页面,就直接用 Bulma 做。






