我需要在 hiccup 中构建样式信息,以便将元素放置在变量“top”和“left”指示的位置。我的代码如下所示:
(html [:div {:style (str "top" top ";left" left)} "some text"])
这段代码非常难看。如果 hiccup 使用标准的 CSS 样式规则自动呈现“style”属性会更好......然后我可以编写以下内容:
(html [:div {:style {:top top :left left}} "some text"])
是否已经有库可以执行此操作?或者,我需要推出自己的解决方案吗?
感谢 Clojurians 的指点!
最佳答案
您可以编写一个函数来执行此操作,而且它的输入量甚至会比 map 少一些。例如:
(defn style [& info]
{:style (.trim (apply str (map #(let [[kwd val] %]
(str (name kwd) ":" val "; "))
(apply hash-map info))))})
哪个可以让你这样写...
(html [:div (style :top top :left left) "some text"])
函数的示例输出...
user=> (style :top 32 :left 14)
{:style "top: 32; left: 14;"}
关于css - 使用 Clojure Hiccup 呈现样式信息的惯用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679754/