2013-07-11 34 views
5

Tôi đang chuyển từ Sass sang Stylus và tôi có rất nhiều mixin nơi tôi chuyển vào một khối mã có thể truy cập bên trong mixin như @content.Làm thế nào để chuyển một khối mã vào một hàm hoặc mixin trong Stylus

Ví dụ ...

@mixin respond-min($width) { 
    // If we're outputting for a fixed media query set... 
    @if $fix-mqs { 
     // ...and if we should apply these rules... 
     @if $fix-mqs >= $width { 
      // ...output the content the user gave us. 
      @content; 
     } 
    } 
    @else { 
     // Otherwise, output it using a regular media query 
     @media all and (min-width: $width) { 
      @content; 
     } 
    } 
} 

@include respond-min($mq-group2) { 
    & { 
     border: 1px solid green; 
    } 
} 

Tôi muốn chuyển đổi mã ở trên vào Stylus, nhưng vấn đề chính của tôi cho đến nay như là cách tôi vượt qua một khối mã vào mixin như Stylus không xuất hiện để có tính năng đó.

Có giải pháp thay thế nào không?

Bất kỳ trợ giúp nào được đánh giá cao.

+0

bạn đang có để tạo ra một mixin và vượt qua nó như một cuộc tranh cãi – Ven

Trả lời

6

này trở thành có thể với phiên bản mới nhất của Stylus - 0.41.0, mã trên có thể được viết bằng Stylus như thế này:

respond-min($width) 
    // If we're outputting for a fixed media query set... 
    if $fix-mqs is defined 
    // ...and if we should apply these rules... 
    if $fix-mqs >= $width 
     // ...output the content the user gave us. 
     {block} 
    else 
    // Otherwise, output it using a regular media query 
    media = 'all and (min-width: %s)' % $width 
    @media media 
     {block} 

+respond-min($mq-group2) 
    border: 1px solid green 
+2

Tuyệt vời ! Cảm ơn nhiều. Tôi dự định chuyển BBC News từ Sass sang Stylus trong tương lai gần :-) – Integralist

0

Cần lưu ý rằng hiện có các sự cố mở về việc chuyển nhiều đối số thành truy vấn @media. Cũng không thể sử dụng mixin làm bộ chọn.

Các vấn đề liên quan