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

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

ccwgpt 2024-09-23 04:24 23 浏览 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

相关推荐

NestJS入门教程系列一

介绍Nest(NestJS)是用于构建高效,可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,内置并完全支持TypeScript(但开发人员仍然能够使用JavaScrip...

【推荐】一个网盘资源搜索与转存工具,支持移动端与PC端!

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍CloudSaver是一个基于Vue3和Express的网盘资源搜索与转存开源实用工具。它支持...

Appium原理精讲

目前使用Appium新版本和旧版本的企业数目都很多,而两个版本的安装过程和api的使用又有较大的区别。但是无论表面上的东东如何变化,内部原理都是一样的。在这里我给大家介绍一下appium的核心,增进大...

Kubernetes最小部署单元Pod

一、Kubernetes与Pod简介在当今云计算和容器化技术盛行的时代,Kubernetes已然成为容器编排领域的中流砥柱。它是一个开源的容器编排平台,由Google基于其内部使用的Bo...

最常用的四种跨域解决方案

前置知识什么是跨域?浏览器发送的请求地址(URL)与所在页面的地址不同(端口/协议/域名其一不同)。简言之,浏览器发出的请求url,与其所在页面的url不一样。此时,同源策略会让浏览器拒收服务器...

Bolt.New —— 全栈AI Web自动编程

Bolt.New是由StackBlitz公司推出的,全栈AI工具,代码编辑、运行、部署,通通一站式搞定。它使用WebContainers技术,无需任何本地安装或配置,在浏览器中,就可以运行完整的No...

Nodejs Express新手教程&高手进阶

NodejsExpress新手教程&高手进阶Express是一个NodeJS平台的框架,主要用于构于Web服务器项目。本文将通过示例介绍适合新手入门的Express基础使用,以及高手进阶知识,如:c...

Express.js 创建Node.js Web应用

Express.js是一个基于Node.js的Web应用框架,框架的设计目的是构建应用的架构和简化应用的开发。框架会解决一些通用的问题,在Express.js中,Express框架会处理如:中间件、代...

JavaScript 的 Express.js 功能及应用场景详解

Express.js是一个基于Node.js的轻量级Web应用框架,主要用于快速构建服务器端应用和API。它的核心功能包括以下关键点:1.路由管理URL路径与HTTP方法映射:通过...

nodejs的express4文件下载

在nodejs的express框架中,下载变得非常简单,就一个方法,res.download()首先express命令行生成项目基本框架:不会的看这里:http://blog.csdn.net/zz...

Express 系列:快速生成一个项目

系列预告本系列将以一个项目入手结合相关技术细节来带领大家一起学习Express这个基于Node.js的后端框架。本文首先将介绍:如何快速的生成一个具有一定结构的Express项目。Express项目结...

nodejs的express自动生成项目框架

nodejs版本为:4.X,express版本为4.X1.全局安装2个模块express、express-generator在命令行输入:npminstall-gexpressnpminsta...

express开发(一)简介与搭建

上周末去了趟上海书城,不愧是上海数得上号的书城,流行的科技书应有尽有,话不多说直接上图。最经典的C语言O(∩_∩)O最流行的java(づ ̄3 ̄)づ超酷的R语言/(ㄒoㄒ)/~~然而,身为一个坚定的前...

Vue+Echarts可视化大屏系统后端框架搭建(附代码)

各位同学,大家好。上节课,前面我们讲解了Vue+Echarts前端部分的设计方法。这节课程,我们开始讲解使用Express进行后端设计的方法。01项目相关理论介绍什么是expressExpress是...

Shopify电商API接口开发

Shopify电商API接口开发上线流程主要包括以下步骤。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎洽谈合作。前期准备-注册Shopify账号:在Shopify官网注册,用于后续开发测试...

取消回复欢迎 发表评论: