我正在使用 SASS 创建一个响应式站点。目前,我的代码被构造成多个部分:
- 一些默认颜色和尺寸
- 整体布局
- 每个元素的部分
作为这个组织的结果,我发现我最终会通过生成的 CSS 多次声明媒体查询 - 感觉很混乱。因此,我一直在尝试一些想法来保持当前结构,但最终得到了更简单的结果代码。
我的想法是这样的:
- 一个变量包含一个部分列表
@import
- 一个变量包含一个媒体查询大小的列表(总是使用最小宽度,因此这个列表只不过是一串数字)
- 然后,每个部分 (
_footer.scss
,_header.scss
) 将包含一个@mixin
标题,例如 - content-footer、content-header 等 - 这些
@mixin
将采用与媒体查询相关的单个变量,并为该条件输出适当的代码。 style.scss
将@import
列表中的每个部分,- 然后分别循环遍历每个媒体大小和部分,调用函数和媒体大小。
上述过程将导致这样的事情被影响......
@import 'footer';
@import 'header';
@include content-footer(0);
@include content-header(0);
@include content-footer(320);
@include content-header(320);
@include content-footer(640);
@include content-header(640);
ETC..
我的问题是 - 我如何调用动态标题@mixin
?类似的东西content-#{$partial}
似乎应该工作,但没有。
我想如果这不起作用,那么我可以每次都重新导入部分,但这似乎有点矫枉过正......
@import 'footer';
@include content(0);
@import 'header';
@include content(0);
@import 'footer';
@include content(320);
@import 'header';
@include content(320);
@import 'footer';
@include content(640);
@import 'header';
@include content(640);