正如@Parhum 所说,您不能将列表用作此mixin 的$padding 参数,因此我修改了我的一个mixin 以将列表支持添加到按钮mixin。按钮混合导入按钮大小混合以处理按钮填充,因此您需要编辑按钮大小混合以添加支持以使用列表作为$padding 的参数。
这是我的mixin
工作原理
使用此 mixin,您可以将 $padding 设置为一个值、单个值的列表或 2、3 或 4 个值的列表,此列表遵循 css 填充简写规则:
-
一个单个值适用于所有 4 个面
-
两个值适用于1.顶部和底部以及2.左侧和右侧
-
三个值适用于1.顶部、2.左右和3.底部李>
-
四个值适用于1.顶部、2.右侧、3.底部和4. 左侧
所以@include button-size($padding: value) 返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
@include button-size($padding: value1 value2) 返回:
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
@include button-size($padding: value1 value2 value3) 返回:
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
@include button-size($padding: value1 value2 value3) 返回:
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
比例
我在 box-size mixin 中添加了另一个参数 $proportion,它默认设置为 true,如果您将其设置为 true 值,它会删除填充操作。
所以@include button-size($padding: value1 value2 value3 value4, $proportion: ) 返回:
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
代替:
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
如何在基础中包含这个 mixin
用你最喜欢的编辑器打开fundation/components/_buttons.scss,用mixin替换@mixin button-size
将$proportion:false 添加到@mixin button 参数和@include button-size 参数中