codecamp

Sass @each多个分配与映射

描述

多重赋值适用于映射,它们被视为对的列表。如果你想使用map,那么你必须更改@each语句并使用多个分配。

语句

@each $var1, $var2 in <map>

下面简要解释语法。

  • $var1, $var2: 这些表示变量的名称。

  • <map>: 它表示对的列表。

例子

下面的示例演示了如何使用多个分配与映射:

<html>
<head>
   <title>Control Directives & Expressions</title>
   <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
   <h1>Welcome to Tutorialspoint</p>
   <h2>Welcome to Tutorialspoint</p>
   <h3>Welcome to Tutorialspoint</p>
</body>
</html>

接下来,创建文件style.scss。

style.scss

@each $header, $color in (h1: red, h2: green, h3: blue) {
  #{$header} {
    color: $color;
  }
}

您可以通过使用以下命令让SASS查看文件,并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\style.scss:style.css

接下来执行上面的命令,它将自动创建style.css文件用下面的代码:

style.css

h1 {
  color: red; }

h2 {
  color: green; }

h3 {
  color: blue; }

输出

让我们执行以下步骤,看看上面的代码如何工作:

  • 将上述html代码保存在@ each_multiple_map.html文件中。

  • 在浏览器中打开此HTML文件,将显示如下输出。

Sass Control Directives & Expressions
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Sass 相关资源

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }