重复的花园语法

时间:2018-10-24 17:51:49

标签: css clojure

我发现自己写这篇文章

  [:.container2 {:display :grid
                 :grid-template-columns "repeat(10, 50px)"
                 :grid-template-rows "repeat(10, 50px)"}]

要使用garden转换为CSS。

应该{​​{1}}用某种花园的方式写而不是我写字符串吗?

1 个答案:

答案 0 :(得分:3)

您可能必须从名称空间中排除clojure.core/repeat,但是您可以使用花园的defcssfn

(require '[garden.core :refer [css]])
(require '[garden.def :refer [defcssfn]])

(defcssfn repeat)

(css [:.container2 {:display :grid 
                    :grid-template-columns (repeat 10 "50px") 
                    :grid-template-rows (repeat 10 "50px")}]) 

=>    ".container2 {  display: grid;
                      grid-template-columns: repeat(10, 50px);
                      grid-template-rows: repeat(10, 50px);\n}"

OR

(def my-custom-repeat (repeat 10 "50px")

(css [:.container2 {:display :grid 
                    :grid-template-columns  my-custom-repeat
                    :grid-template-rows     my-custom-repeat}])

=>    ".container2 { display: grid;
                     grid-template-columns:  repeat(10, 50px);
                     grid-template-rows:     repeat(10, 50px); }"