【问题标题】:Is there any way to generate grid classes for use directly on the markup有没有办法生成直接在标记上使用的网格类
【发布时间】:2013-06-23 20:30:58
【问题描述】:

虽然我更喜欢在我的 css 上使用 susy mixins,但在某些情况下,拥有通用网格类很有用,例如在将这些声明内联的情况下用于网络表单。

有什么办法吗?

目前我正在像这样手动生成这些类:

.grid-1{
    @include span-columns(1);
}

【问题讨论】:

    标签: susy-compass


    【解决方案1】:

    网格类在像 Susy 这样的流体系统中会变得非常复杂,因为上下文很重要。我们默认不提供它(还)。我很快就把它搞定了,它应该能让你接近:

    @mixin susy-classes($silent: false) {
      $base: if($silent, '%', '.');
      $selector: '#{$base}span';
    
      @if $silent { #{$selector} { @include span-columns(1); } }
      @else { [class^="span-"] { @include span-columns(1); } }
    
      #{$base}full { clear: both; }
      #{$base}omega { @include omega; }
    
      @for $span from 1 through $total-columns {
        $span-selector: '#{$selector}-#{$span}';
        @for $context from 1 through $total-columns {
          $total-selector: '#{$span-selector}-#{$context}';
          $total-selector: if($context == $total-columns, '#{$span-selector}, #{$total-selector}', $total-selector);
          @if $context != $span {
            #{$total-selector} {
              @if $silent { @extend #{$selector}; }
              width: columns($span, $context);
            }
          } @else {
            #{$total-selector} { clear: both; }
          }
        }
      }
    }
    
    @include susy-classes;
    

    如果将它添加到 Susy 核心中,它可能会变得更简洁,但现在它应该可以满足您的需求。它将输出要扩展的静默类或标准类。让我知道它是如何为您工作的,并随时在 github 上提出问题以考虑将其移至核心。

    【讨论】:

    • 这有没有进入过 susy core?我还想要 susy 的灵活性,以及​​它们有意义的网格类选项。
    • 还没有,没有。但是你可以使用这个循环(对于 Susy 1)或者自己写一个循环。
    • 谢谢,可惜我没有你的诗功:)
    • 对于最简单的用例,您可以将其缩减很多。见this sassmeister demo
    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 2013-12-10
    • 2021-12-24
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多