按钮组
Flexbox按钮组是相关操作项的容器。当您需要在栏中显示一组操作时,它们非常有用。这些构建基于按钮样式,并且与网格完美配合。
基础知识
将 .button-group
类添加到容器,并在其中放置任意数量的按钮。按钮之间用小边框隔开。
<div class="button-group">
<a class="button">One</a>
<a class="button">Two</a>
<a class="button">Three</a>
</div>
尺寸调整
按钮组可以使用与标准按钮相同的类来调整大小:.tiny
、.small
和 .large
。
<div class="small button-group">
<a class="button">Small</a>
<a class="button">Button</a>
<a class="button">Group</a>
</div>
着色
按钮组中的按钮可以使用 .secondary
、.success
、.warning
和 .alert
类分别着色。
<div class="button-group">
<a class="secondary button">View</a>
<a class="success button">Edit</a>
<a class="warning button">Share</a>
<a class="alert button">Delete</a>
</div>
也可以使用相同的类为整个组着色。
<div class="primary button-group">
<a class="button">Harder</a>
<a class="button">Better</a>
<a class="button">Faster</a>
<a class="button">Stronger</a>
</div>
空心和透明
按钮组中的按钮可以通过分别添加类 .hollow
或 .clear
来赋予空心和透明样式。
<div class="button-group">
<a class="secondary button hollow">View</a>
<a class="success button hollow">Edit</a>
<a class="warning button hollow">Share</a>
<a class="alert button hollow">Delete</a>
</div>
<div class="button-group">
<a class="secondary button clear">View</a>
<a class="success button clear">Edit</a>
<a class="warning button clear">Share</a>
<a class="alert button clear">Delete</a>
</div>
也可以使用相同的类为整个组赋予空心或透明样式。
<div class="button-group hollow">
<a class="secondary button">View</a>
<a class="success button">Edit</a>
<a class="warning button">Share</a>
<a class="alert button">Delete</a>
</div>
<div class="button-group clear">
<a class="secondary button">View</a>
<a class="success button">Edit</a>
<a class="warning button">Share</a>
<a class="alert button">Delete</a>
</div>
无间隙
对按钮组使用单一颜色时,您可能希望删除按钮之间的 1px
间距。您可以使用 no-gaps
来实现相同的效果。
<div class="primary button-group no-gaps">
<a class="button">Harder</a>
<a class="button">Better</a>
<a class="button">Faster</a>
<a class="button">Stronger</a>
</div>
您可以在 hollow
样式上使用 no-gaps
。
<div class="primary button-group hollow no-gaps">
<a class="button">Harder</a>
<a class="button">Better</a>
<a class="button">Faster</a>
<a class="button">Stronger</a>
</div>
您可以将 no-gaps
与所有分组/单独样式一起使用。
<div class="button-group no-gaps">
<a class="secondary button">View</a>
<a class="success button">Share</a>
<a class="warning button hollow">Edit</a>
<a class="alert button clear">Delete</a>
</div>
等宽组
将 .expanded
类添加到容器以创建全宽按钮组。每个项目将根据按钮的数量自动调整自身大小,最多六个。
<div class="expanded button-group">
<a class="button">Expanded</a>
<a class="button">Button</a>
<a class="button">Group</a>
</div>
堆叠
可以使用 .stacked
类将按钮组设为垂直方向。您还可以使用 .stacked-for-small
仅在小屏幕上堆叠按钮组,或使用 .stacked-for-medium
仅在中小型屏幕上堆叠。
<div class="stacked-for-small button-group">
<a class="button">How</a>
<a class="button">Low</a>
<a class="button">Can</a>
<a class="button">You</a>
<a class="button">Go</a>
</div>
拆分按钮
要构建拆分按钮,只需创建一个包含两个按钮的按钮组。
要创建一个只有箭头的按钮,请添加 .arrow-only
类。请注意,按钮仍然需要一个供屏幕阅读器使用的标签,该标签可以使用 .show-for-sr
元素嵌入到按钮中。在下面的示例中,辅助设备会将箭头按钮读作“显示菜单”。
<div class="button-group">
<a class="button">Primary Action</a>
<a class="dropdown button arrow-only">
<span class="show-for-sr">Show menu</span>
</a>
</div>
Flexbox 按钮组
按钮组中的按钮可以使用 Foundation 中的 Flexbox 实用程序 类进行定位。您可以使用 .align-center
、.align-right
、.align-spaced
或 .align-justify
。
<div class="button-group align-center">
<a class="button">One</a>
<a class="button">Two</a>
<a class="button">Three</a>
</div>
<div class="button-group align-right">
<a class="button">One</a>
<a class="button">Two</a>
<a class="button">Three</a>
</div>
<div class="button-group align-spaced">
<a class="button">One</a>
<a class="button">Two</a>
<a class="button">Three</a>
</div>
<div class="button-group align-justify">
<a class="button">One</a>
<a class="button">Two</a>
<a class="button">Three</a>
</div>
Sass 参考
变量
可以使用项目 设置文件 中的以下 Sass 变量来自定义此组件的默认样式。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
$buttongroup-margin |
数字 | 1rem |
按钮组的外边距。 |
$buttongroup-spacing |
数字 | 1px |
按钮组中按钮之间的边距。 |
$buttongroup-child-selector |
字符串 | '.button' |
按钮组内按钮的选择器。 |
$buttongroup-expand-max |
数字 | 6 |
等宽按钮组中最多可以包含的按钮数量。(仅在 $global-flexbox: false; 时需要) |
$buttongroup-radius-on-each |
布尔值 | true |
确定 $button-radius 是应用于每个按钮还是整个按钮组。使用 _settings.scss 中的 $global-radius 更改半径。 |
混合
我们使用这些混合来构建此组件的最终 CSS 输出。您可以自己使用这些混合来从我们的组件中构建自己的类结构。
button-group
@include button-group($child-selector, $spacing);
添加按钮组容器的样式。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
$child-selector |
字符串 | $buttongroup-child-selector |
按钮组内按钮的选择器。 |
$spacing |
数字 | $buttongroup-spacing |
按钮组中按钮之间的间距。 |
button-group-no-gaps
@include button-group-no-gaps($selector);
使按钮之间没有间隙地粘合在一起。按钮之间的边框合并在一起
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
$selector |
字符串 | $buttongroup-child-selector |
按钮组内按钮的选择器。 |
button-group-expand
@include button-group-expand($selector, $spacing);
创建一个全宽按钮组,使每个按钮的宽度相等。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
$selector |
字符串 | $buttongroup-child-selector |
按钮组内按钮的选择器。 |
$spacing |
数字 | $buttongroup-spacing |
按钮组中按钮之间的间距。 |
button-group-stack
@include button-group-stack($selector);
堆叠按钮组中的按钮。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
$selector |
字符串 | $buttongroup-child-selector |
按钮组内按钮的选择器。 |
button-group-unstack
@include button-group-unstack($selector);
取消堆叠按钮组中的按钮。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
$selector |
字符串 | $buttongroup-child-selector |
按钮组内按钮的选择器。 |