css - 根据索引查询scss映射到位置div

标签 css for-loop sass maps

我有一个我一直在研究的评论系统,它有一个由一些星星组成的白色模板,通过在它后面移动一个绝对定位的 div 来填充这些星星。

scss map 上有一些百分比,我想用它来定位这个 div。

示例类 .review-note-2 只是 php 如何根据评论计数填充 div 的示例。

目标:遍历 map 并分配 scss map 中此 .review-note-class 的左值。

scss:

$position: (
  0:    -100%,
  1:    -86%,
  2:    -64%,
  3:    -38%,
  4:    -17%,
  5:    0% 
);

.product-review-rates {
    width:428px;
    display:inline-block;

    .review-stars {
        background:url('star-stencil.svg') no-repeat;
        width:100%;
        z-index:1;
        display:inline-block;
        height:150px;
        background-size: 428px 60px;
        overflow:hidden;

        & > div {
        position: relative;
    z-index: -1;
    width: 100%;
    background-color: #eb93b7;
    left:-100%;
    height: 60px;
        }
      @for $i from 0 through 5 {
            .review-note-#{$i} { 
            left:0px; // query $position map above
            }
        }
    }
}

html:

<div class="product-review-rates">
   <div class="review-stars">
      <div class="review-note-2"></div> 
   </div>
</div>

(几乎)工作示例: http://codepen.io/anon/pen/MayvYE

最佳答案

回答自己的问题(畏缩!):

 $position: (
      0:    -100%,
      1:    -86%,
      2:    -64%,
      3:    -38%,
      4:    -17%,
      5:    0% 
    );
    @each $starNo, $value in $position{
            .review-note-#{$starNo} { 
               left:$value;
            }
    }

链接: http://codepen.io/anon/pen/WQwZoK

关于css - 根据索引查询scss映射到位置div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32637061/

相关文章:

CSS 表格单元格填充在 FF 和 IE8 中无效

JavaScript - 折叠 Div

vue.js - 如何更改 vuetify 主题背景颜色

r - 使用 R 更新 map() 循环外的向量

C# XAML - For 循环只显示最后一次迭代,中间没有任何内容

javascript - 具有用于 cookieless 域的自定义 javascript 函数的 LESS CSS

css - Codepen 上的奇怪错误消息

javascript - 如何使用 JavaScript 设置动态 CSS 值

html - Bootstrap CSS 行的高度变化导致以下所有内容的跳跃和可用性问题

arrays - 删除字符串列表右侧的所有内容