Sass 在Zurb基础上设置衬垫';s按钮混合
我想用基金会的。文档中的格式示例如下:Sass 在Zurb基础上设置衬垫';s按钮混合,sass,zurb-foundation,mixins,Sass,Zurb Foundation,Mixins,我想用基金会的。文档中的格式示例如下: // Using the available options .custom-button-class { @include button($padding, $bg, $radius, $full-width, $disabled, $is-input); } 所以我就这样使用它: @include button(rem-calc(10 5), $colour-main-orange, em-calc(5 0), false, false, fal
// Using the available options
.custom-button-class {
@include button($padding, $bg, $radius, $full-width, $disabled, $is-input);
}
所以我就这样使用它:
@include button(rem-calc(10 5), $colour-main-orange, em-calc(5 0), false, false, false);
但是当填充失败时,通过rem calc(10 5)
。Compass无法编译SCS,错误为:未定义操作:“0.625rem 0.3125rem乘以2”
如果我只通过了rem计算(10)
。在基金会的大多数其他区域,可以以这种方式传递多个值。例如,查看我传递半径值的方式:左上角和右下角=5,右上角和左下角=0
有人能想出一个解决这个问题的办法吗?这可能是一个混合错误,但在我尝试解决如何修复它之前,我想确定这不仅仅是我的愚蠢 问题在于,您试图将$padding参数设置为一个包含两个值的列表,@mixin button获取此列表并尝试使用它进行操作,但返回一个错误,因为sass不支持列表操作。来自Sass参考: 列表不支持任何特殊操作。相反,它们是 使用列表函数进行操作 基金会使用此代码设置发送给他们的$padding。请看以下代码:
padding-top: $padding;
padding-#{$opposite-direction}: $padding * 2; // $padding list and * operator returns an error
padding-bottom: $padding + rem-calc(1); // This also return an error
padding-#{$default-float}: $padding * 2; // This also return an error
问题是,您试图将$padding参数设置为具有两个值的列表,@mixin button获取此列表并尝试使用它进行操作,但返回错误,因为sass不支持列表操作。来自Sass参考: 列表不支持任何特殊操作。相反,它们是 使用列表函数进行操作 基金会使用此代码设置发送给他们的$padding。请看以下代码:
padding-top: $padding;
padding-#{$opposite-direction}: $padding * 2; // $padding list and * operator returns an error
padding-bottom: $padding + rem-calc(1); // This also return an error
padding-#{$default-float}: $padding * 2; // This also return an error
正如@Parhum所说,您不能将列表用作此mixin的
$padding
参数,因此我修改了我的一个mixin,将列表支持添加到button mixin。Button mixin导入Button size mixin以处理按钮填充,因此您需要编辑Button size mixin以添加对使用列表作为$padding
参数的支持
这是我的
它的工作原理使用此mixin,您可以将
$padding
设置为一个值、一个具有单个值的列表或一个具有2、3或4个值的列表,此列表遵循css的填充速记规则:
- 一个单个值适用于所有4个面
- 两个值应用于1。顶部和底部以及2。左侧和右侧
- 三个值应用于1。顶部,2。右侧和左侧,以及3。底部
- 四个值应用于1。顶部,2。右侧,3。底部和4。左侧
@include按钮大小($padding:value)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1-value2)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1 value2 value3)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1 value2 value3)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
比例我为box size mixin添加了另一个参数,名为
$proportion
,默认情况下它设置为true,如果将其设置为true,则会删除填充操作
因此@包含按钮大小($padding:value1 value2 value3 value4,$proportion:)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
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 button size
$proportion:false
添加到@mixin button
参数和@include button size
参数中正如@Parhum所说,您不能将列表用作此mixin的
$padding
参数,因此我修改了我的一个mixin,将列表支持添加到button mixin。Button mixin导入Button size mixin以处理按钮填充,因此您需要编辑Button size mixin以添加对使用列表作为$padding
参数的支持
这是我的
它的工作原理使用此mixin,您可以将
$padding
设置为一个值、一个具有单个值的列表或一个具有2、3或4个值的列表,此列表遵循css的填充速记规则:
- 一个单个值适用于所有4个面
- 两个值应用于1。顶部和底部以及2。左侧和右侧
- 三个值应用于1。顶部,2。右侧和左侧,以及3。底部
- 四个值应用于1。顶部,2。右侧,3。底部和4。左侧
@include按钮大小($padding:value)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1-value2)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1 value2 value3)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
@包含按钮大小($padding:value1 value2 value3)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
padding-top: value1
padding-rigth: value2
padding-bottom: value3
padding-left: value4
比例我为box size mixin添加了另一个参数,名为
$proportion
,默认情况下它设置为true,如果将其设置为true,则会删除填充操作
因此@包含按钮大小($padding:value1 value2 value3 value4,$proportion:)
返回:
padding-top: value
padding-right: value * 2
padding-bottom: value + rem-calc(1)
padding-left: value * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value1 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-right: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value2 * 2
padding-top: value1
padding-rigth: value2 * 2
padding-bottom: value3 + rem-calc(1)
padding-left: value4 * 2
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 button size
$proportion:false
添加到@mixin button
参数和@include button size
参数中首先感谢您编辑我的答案:)但关于您的解决方案,我认为最好不要编辑核心文件(核心文件)