我通常對sass很陌生,只是想知道是否可以使用mixins來定義一個新的變量值?使用mixins來改變變量值
我認爲這將是很好的使用變量來定義整個網站,我建設的填充大小。我的想法是,我可以使用混合和媒體查詢來定義一個新值。
一個例子可能更有意義:
$site-padding: 40px;
@include media-over-767 {
$site-padding: 20px;
}
我認爲這將是超級有用的,但不能讓它的工作...有一個可行的方法?
我通常對sass很陌生,只是想知道是否可以使用mixins來定義一個新的變量值?使用mixins來改變變量值
我認爲這將是很好的使用變量來定義整個網站,我建設的填充大小。我的想法是,我可以使用混合和媒體查詢來定義一個新值。
一個例子可能更有意義:
$site-padding: 40px;
@include media-over-767 {
$site-padding: 20px;
}
我認爲這將是超級有用的,但不能讓它的工作...有一個可行的方法?
@mixin site-padding{
$site-padding: 20px;
}
@include media-over-767 {
@include site-padding;
}
您不能在斷點內設置sass
變量。
將這一問題 - https://github.com/sass/sass/issues/1227
你可以簡單地做
$site-padding: 40px;
$site-padding-sm: 20px;
@include media-over-767 {
padding: $site-padding-sm;
}
我不知道這是否是你尋找什麼,但希望它讓你走上正確的道路。聲明混入:
@mixin site-padding($padding:40px) {
padding: $padding;
}
在這個例子中,我設置了混入site-padding
與40px
的默認值。
你的SASS會是這個樣子:
.element {
// Small screens
@include site-padding(20px);
// Over 767px
@media screen and (min-width: 768px) {
// Defaults to 40px.
@include site-padding();
}
}
即使@JinuKurian已經回答了,我想你應該看看範圍的變量在青菜可以把你的另一路徑上解決這些問題的排序。此外,請參閱[本主題](http://stackoverflow.com/questions/5469931/sass-variable-default-scope)的答案以獲取有關變量如何工作的更多詳細信息(mixins和scoped變量)。 – Fahrenheit