百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Bulma:下一代热门 CSS 框架,基于 Flexbox

ccwgpt 2024-09-23 04:24 33 浏览 0 评论

大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

1.什么是 Bulma

Bulma is a modern CSS framework based on Flexbox.

Bulma 是一个基于 Flexbox 的现代 CSS 框架,唯一的输出就是一个 CSS 文件,即 bulma.css。

开发者可以开箱即用使用该文件,也可以下载 Sass 源文件来自定义变量。Bulma 不包含任何 JavaScript,因此可以被认为是与环境无关的 (Environment Agnostic),只是逻辑之上的样式层。

Bulma 使用 autoprefixer 使大多数 Flexbox 功能与早期浏览器版本兼容。 根据 caniuse 的数据,Bulma 与 Chrome、Edge、Firefox、Opera、Safari 等最新版本的浏览器兼容,但是仅部分支持 Internet Explorer (10+)。

目前 Bulma 在 Github 通过 MIT 协议开源,有超过 48.4k 的 star、3.9k 的 fork、项目依赖量 244k、代码贡献者 370+、妥妥的前端顶级开源项目。

2.如何使用 Bulma

2.1 安装依赖

开发者可以使用 CDN 加载:

@import "https://cdn.jsdelivr.net/npm/bulma@1.0.0/css/bulma.min.css";

当然也可以使用 npm 或者 yarn 安装:

npm install bulma
// yarn
yarn add bulma

2.2 支持 CSS 变量

所有 Bulma 组件均使用 CSS 变量(也称为 CSS 自定义属性)来设置样式。例如,.title 元素的样式如下:

.title {
  color: var(--bulma-title-color);
  font-size: var(--bulma-title-size);
  font-weight: var(--bulma-title-weight);
  line-height: var(--bulma-title-line-height);
}

2.3 支持 Mixin

Bulma 还支持开发者使用 Sass mixins 来增强和方便 CSS 编写。虽然这些 mixins 主要在 Bulma 上下文中使用,但开发者也可以在自己的项目中重复使用。

.bulma-arrow-mixin {
  @include mixins.arrow(purple);
}

比如上面的 arrow() mixin 创建一个向下的箭头,而 $color 参数定义箭头的颜色。

2.4 支持主题

Bulma 还支持主题等常见 CSS 库的能力,比如在 Bulma 中,主题是 CSS 变量的集合,Bulma 有 2 个主题:

  • light.scss(必需)
  • dark.scss(可选)

由于 Bulma 需要所有 CSS 变量的默认值,因此它附带了一个位于 /sass/themes/light.scss 的默认浅色主题,同时还带有位于 /sass/themes/dark.scss 的深色主题。

:root {
    /* CSS Variables */
}
@media (prefers-color-scheme: light) {
  :root {
    /* CSS Variables */
  }
}
@media (prefers-color-scheme: dark) {
  :root {
    /* CSS Variables */
  }
}
[data-theme=light],
.theme-light {
  /* CSS Variables */
}
[data-theme=dark],
.theme-dark {
  /* CSS Variables */
}

2.5 支持模块化

Bulma 由数十个 .scss 文件中定义的元素和组件组成,开发者可以使用 @use 关键字单独加载文件。但是为了正确加载目标文件的样式,需要同时加载主题定义的基本样式和 CSS 变量,比如下面的例子:

// 加载基本样式和主题
@use "bulma/sass/base";
@use "bulma/sass/themes";

// 加载其他 Bulma 组件
@use "bulma/sass/elements/button";
@use "bulma/sass/components/message";

更多关于 Bulma 的高级功能可以参考文末的资料,本文不再过多展开。

参考资料

https://github.com/jgthms/bulma

https://bulma.io/

https://www.youtube.com/watch?v=LBzZLzu2GKo

https://www.geeksforgeeks.org/bulma-introduction/

https://versions.bulma.io/0.7.5/expo/

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox

相关推荐

用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)

Epic商店很香,但也有不少抱怨,其中一条是启动游戏太慢。那么,如果让Steam启动Epic游戏,会不会速度更快?众所周知,Steam可以启动非Steam游戏,方法是在客户端左下方点击“添加游戏”,然...

Docker看这一篇入门就够了(dockerl)

安装DockerLinux:$curl-fsSLhttps://get.docker.com-oget-docker.sh$sudoshget-docker.sh注意:如果安装了旧版...

AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]

2016年6月15日,我AY对外发布AYUI(WPF4.0开发)的UI框架,开发时候,你可以无任何影响的去开发PC电脑上的软件exe程序。AYUI兼容XP操作系统,在Win7/8/8.1/10上都顺利...

别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!

浏览器套壳方案,C#和C++有更多,你说的没错,从数量和历史积淀来看,C#和C++确实有不少方式来套壳浏览器,让Web内容在桌面应用里跑起来。但咱们得把这套壳二字掰扯清楚,因为这里面学问可大了!不同的...

OneCode 核心概念解析——Page(页面)

在接触到OneCode最先接触到的就是,Page页面,在低代码引擎中,页面(Page)设计的灵活性是平衡“快速开发”与“复杂需求适配”的关键。以下从架构设计、组件系统、配置能力等维度,解析确...

React是最后的前端框架吗,为什么这么说的?

油管上有一位叫Theo的博主说,React是终极前端框架,为什么这么说呢?让我们来看看其逻辑:这个标题看起来像假的,对吧?React之后明明有无数新框架诞生,凭什么说它是最后一个?我说的“最后一个”不...

面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官

面试官放下简历,手指在桌上敲了三下:"你上次解决的技术难题,现在回头看有什么不足?"眼前的候选人瞬间僵住——这是上周真实发生在蚂蚁金服终面的场景。2025年的前端战场早已不是框架熟练...

前端新星崛起!Astro框架能否终结React的霸主地位?

引言:当"背着背包的全能选手"遇上"轻装上阵的短跑冠军"如果你是一名前端开发者,2024年的框架之争绝对让你眼花缭乱——一边是React这位"背着全家桶的全能选...

基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)

什么是BFFBFF全称是BackendsForFrontends(服务于前端的后端),起源于2015年SamNewman一篇博客文章《Pattern:BackendsFor...

谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧

在AI技术飞速发展的当下,如何更高效地与大语言模型(LLM)沟通,以获取更准确、更有价值的输出,成为了一个备受关注的问题。谷歌最新发布的《PromptEngineering》白皮书,为这一问题提供了...

光的艺术:灯具创意设计(灯光艺术作品展示)

本文转自|艺术与设计微信号|artdesign_org_cn“光”是文明的起源,是思维的开端,同样也是人类睁眼的开始。每个人在出生一刻,便接受了光的照耀和洗礼。远古时候,人们将光奉为神明,用火来...

MoE模型已成新风口,AI基础设施竞速升级

机器之心报道编辑:Panda因为基准测试成绩与实际表现相差较大,近期开源的Llama4系列模型正陷入争议的漩涡之中,但有一点却毫无疑问:MoE(混合专家)定然是未来AI大模型的主流范式之一。...

Meta Spatial SDK重大改进:重塑Horizon OS应用开发格局

由文心大模型生成的文章摘要Meta持续深耕SpatialSDK技术生态,提供开自去年9月正式推出以来,Meta持续深耕其SpatialSDK技术生态,通过一系列重大迭代与功能增强,不断革新H...

"上云"到底是个啥?用"租房"给你讲明白IaaS/PaaS/SaaS的区别

半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...

php宝塔搭建部署thinkphp机械设备响应式企业网站php源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...

取消回复欢迎 发表评论: