本文档全面概述了 Bulma 的交互式 UI 组件,这些组件构成了用户在 Web 界面中进行交互的核心。这些组件设计为响应式、可定制且易于访问。有关容器和部分等布局组件,请参阅 布局组件。有关特定于表单的元素,请参阅 表单元素。
Bulma 提供了一系列多功能 UI 组件,可以组合使用以创建复杂的交互式界面。这些组件遵循一致的设计模式,同时允许通过修饰符进行自定义。
来源
导航栏是一个响应式的水平导航条,作为主要的导航组件。它支持品牌标识、链接、下拉菜单以及适用于移动设备的响应式汉堡包菜单。
navbar
├── navbar-brand
│ ├── navbar-item (logo)
│ └── navbar-burger (mobile menu toggle)
└── navbar-menu
├── navbar-start (left-aligned items)
│ ├── navbar-item
│ └── navbar-item has-dropdown
│ ├── navbar-link
│ └── navbar-dropdown
│ ├── navbar-item
│ ├── navbar-divider
│ └── navbar-item
└── navbar-end (right-aligned items)
└── navbar-item
来源
选项卡提供了一个简单的水平导航系统,用于在内容区域之间切换。
tabs [is-centered|is-right] [is-small|is-medium|is-large] [is-boxed|is-toggle|is-fullwidth]
└── ul
├── li [is-active]
│ └── a
└── li
└── a
来源
面包屑导航通过显示基于层级的导航路径来帮助用户了解其在网站中的位置。
breadcrumb [is-centered|is-right] [is-small|is-medium|is-large] [has-arrow-separator|has-bullet-separator|has-dot-separator|has-succeeds-separator]
└── ul
├── li
│ └── a
└── li [is-active]
└── a
来源
分页导航提供了多页内容的导航,包含上一页/下一页按钮和页码。
pagination [is-centered|is-right] [is-rounded] [is-small|is-medium|is-large]
├── pagination-previous
├── pagination-next
└── pagination-list
├── pagination-link
├── pagination-ellipsis
├── pagination-link [is-current]
└── pagination-link
来源
菜单是垂直导航组件,通常用于侧边栏导航。
menu
├── menu-label
├── menu-list
│ ├── li
│ │ └── a
│ └── li
│ ├── a [is-active]
│ └── ul
│ └── li
│ └── a
└── menu-label
└── menu-list
└── li
└── a
来源
模态框组件创建了一个覆盖页面内容的对话框,将用户注意力集中在特定内容或操作上。
is-active 类激活(需要 JavaScript)modal [is-active]
├── modal-background
├── modal-content
│ └── Any content (image, text, etc.)
└── modal-close
modal [is-active]
├── modal-background
└── modal-card
├── modal-card-head
│ ├── modal-card-title
│ └── delete
├── modal-card-body
│ └── Content
└── modal-card-foot
└── buttons
来源
下拉菜单提供了一种显示用户操作或导航的上下文覆盖层的方法。
dropdown [is-active|is-hoverable] [is-right] [is-up]
├── dropdown-trigger
│ └── button
└── dropdown-menu
└── dropdown-content
├── dropdown-item [is-active]
├── dropdown-divider
└── dropdown-item
来源
面板是容器,可以包含导航、搜索表单和内容列表。
panel [is-primary|is-link|is-info|is-success|is-warning|is-danger]
├── panel-heading
├── panel-block
│ └── control (search form)
├── panel-tabs
│ ├── a [is-active]
│ └── a
└── panel-block [is-active]
├── panel-icon
└── Text or other content
来源
消息是用于通知、警报或信息内容的彩色容器。
message [is-primary|is-link|is-info|is-success|is-warning|is-danger] [is-small|is-medium|is-large]
├── message-header
│ ├── p
│ └── delete
└── message-body
└── Content
来源
虽然Bulma提供了组件的CSS样式,但交互功能需要JavaScript。Bulma默认不包含JavaScript,允许开发者根据需要实现功能。
导航汉堡包切换
is-active类模态框激活
is-active类到模态框以显示它is-active类以隐藏is-clipped以防止滚动下拉菜单切换
is-hoverable进行悬停激活is-active类进行点击激活来源
无障碍性考量
响应式行为
组件组合
状态管理
is-active类表示活动状态来源
为了向后兼容,nav组件已被弃用,取而代之的是新的navbar组件。虽然两者目前并存以保证向后兼容,但建议在新项目中使用navbar组件。
来源
Bulma的UI组件为构建交互式界面提供了全面的工具集。通过将这些组件与适当的JavaScript功能相结合,开发者可以创建响应式、可访问且视觉一致的用户界面。组件系统的模块化特性允许在保持整个应用程序设计语言一致性的同时,轻松进行定制。