drc*_*ode 8 css clojure hiccup
我需要在打嗝内建立样式信息,以便将元素放在变量"top"和"left"所指示的位置.我的代码看起来像这样:
(html [:div {:style(str"top"top"; left"left)}"some text"])
这段代码非常难看.如果打嗝使用标准CSS样式规则自动呈现"样式"属性会更好...然后我可以写下面的内容:
(html [:div {:style {:top top:left left}}"some text"])
是否有一个图书馆可以做到这一点?或者,我需要推出自己的解决方案吗?
感谢Clojurians任何指针!
你可以编写一个能够做到这一点的函数,它甚至可以比地图略微打字.例如:
(defn style [& info]
{:style (.trim (apply str (map #(let [[kwd val] %]
(str (name kwd) ":" val "; "))
(apply hash-map info))))})
Run Code Online (Sandbox Code Playgroud)
哪个允许你这样写...
(html [:div (style :top top :left left) "some text"])
Run Code Online (Sandbox Code Playgroud)
函数的样本输出......
user=> (style :top 32 :left 14)
{:style "top: 32; left: 14;"}
Run Code Online (Sandbox Code Playgroud)