복붙노트

[CSS] 적은 믹스 인 인수로 목록 (들)

CSS

적은 믹스 인 인수로 목록 (들)

해결법


  1. 1.예, 모두 전자 ( "A, B, C")와 ~는 "A는, B는 C는"의미있는 형식으로 간주되지 않습니다 소위 "익명 값"유형을 생성 (이 목록은 숫자가 아닌,하지 않다 ) 문자열을 균일. 기본적으로 이스케이프 값은 "음주 나를 만지지"나 같은 뭔가있다 "내가 뭘하는지 알을!" 물건, 그들은 단지 "있는 그대로"컴파일러 안에 무엇이 이해하려고하지 출력되고있다. 컴파일러가 이해할 수없는 무언가에서 "인쇄"이 정확히 값이위한 탈출 기본적으로 무엇이다.

    예, 모두 전자 ( "A, B, C")와 ~는 "A는, B는 C는"의미있는 형식으로 간주되지 않습니다 소위 "익명 값"유형을 생성 (이 목록은 숫자가 아닌,하지 않다 ) 문자열을 균일. 기본적으로 이스케이프 값은 "음주 나를 만지지"나 같은 뭔가있다 "내가 뭘하는지 알을!" 물건, 그들은 단지 "있는 그대로"컴파일러 안에 무엇이 이해하려고하지 출력되고있다. 컴파일러가 이해할 수없는 무언가에서 "인쇄"이 정확히 값이위한 탈출 기본적으로 무엇이다.

    일반적으로 공지에서 당신은 목록에있는 값의 구분 기호로 모두 쉼표과 공간을 사용할 수 있습니다. 예를 들어,이 - 스트링 .loop (A B C를 1 2 3 X Y Z])를 사용할 수있다; (당신도 한 줄에 나무 차원 목록을 얻을 수 있습니다 믹스 인 그래서 다중 인수 하나의 매개 변수로 두 개의 차원 목록). 당신이 인용 및 / 또는 탈출 값을 사용해야하는 특별한 이유가 있습니까? 예를 들어, 당신은 그것을 그대로 쓸 수있다 :

    test {
        .loop-lists(A, B, C; 1, 2, 3; X, Y, Z);
    }
    
    .loop-lists(@lists...) {
        .loop(length(@lists));
        .loop(@i) when (@i > 0) {
            .loop((@i - 1));
            .do-something-with(extract(@lists, @i));
        }
    }
    
    .do-something-with(@list) {
        v1: extract(@list, 1);
        v2: extract(@list, 2);
        v3: extract(@list, 3);
    }
    

    순간이 당신이로 쓸 수 있도록 잘못된 추출 구문, 추출물은 두 개의 매개 변수를 받아들입니다 :

    extract(A B C, 2);
    

    또는 :

    @list: A, B, C;
    extract(@list, 2);
    

    여기에 추가로 일반적인 힌트의 몇 예입니다 :

    test {
        .do-something(A B C, 1 2 3, X Y Z; foo bar, baz; banana);
    }
    
    .do-something(@p1, @p2, @p3) {
        args1: @arguments;                                     // 3D list
        args2: extract(@arguments, 1);                         // 2D list: A B C, 1 2 3, X Y Z
        args3: extract(extract(@arguments, 1), 1);             // 1D list: A B C
        args4: extract(extract(extract(@arguments, 1), 1), 1); // single value: A
    
        p1- :   @p1;               // A B C, 1 2 3, X Y Z
        p1-1:   extract(@p1, 1);   // A B C
        p1-3:   extract(@p1, 3);   // X Y Z
    
       @p2-1:   extract(@p2, 1);   // foo bar
        p2-1:   @p2-1;             // foo bar
        p2-1-2: extract(@p2-1, 2); // bar
        p2-2:   extract(@p2, 2);   // baz
    
        p3- :   @p3;               // banana
        p3-1:   extract(@p3, 1);   // banana
        // etc.
    
        quoted-p2: "@{p2}"; // if you need a quoted string do it in reverse (i.e. non-quoted list to a quoted string)
    }
    
  2. from https://stackoverflow.com/questions/21010520/less-lists-as-a-mixin-arguments by cc-by-sa and MIT license