(defcssfn sym)(defcssfn sym & fn-tail)Define a function for creating custom CSS functions. The generated
function will automatically create an instance of
garden.types.CSSFunction of which the :args field will be set
to whatever the return value of the original function is. The
:function field will be set to (str name).
If only the name argument is provided the returned function will
accept any number of arguments.
Ex. (defcssfn url) ;; => #'user/url
(url "http://fonts.googleapis.com/css?family=Lato")
;; => #garden.types.CSSFunction{:function "url", :args "http://fonts.googleapis.com/css?family=Lato"}
(css (url "http://fonts.googleapis.com/css?family=Lato"))
;; => url(http://fonts.googleapis.com/css?family=Lato)
Ex. (defcssfn attr ([name] name) ([name type-or-unit] [[name type-or-unit]]) ([name type-or-unit fallback] [name [type-or-unit fallback]])) ;; => #'user/attr
(attr :vertical :length)
;; => #garden.types.CSSFunction{:function "url", :args [:vertical :length]}
(css (attr :vertical :length))
;; => "attr(vertical length)"
(attr :end-of-quote :string :inherit)
;; => #garden.types.CSSFunction{:function "url", :args [:end-of-quote [:string :inherit]]}
(css (attr :end-of-quote :string :inherit))
;; => "attr(end-of-quote string, inherit)"
Define a function for creating custom CSS functions. The generated
function will automatically create an instance of
`garden.types.CSSFunction` of which the `:args` field will be set
to whatever the return value of the original function is. The
`:function` field will be set to `(str name)`.
If only the `name` argument is provided the returned function will
accept any number of arguments.
Ex.
(defcssfn url)
;; => #'user/url
(url "http://fonts.googleapis.com/css?family=Lato")
;; => #garden.types.CSSFunction{:function "url", :args "http://fonts.googleapis.com/css?family=Lato"}
(css (url "http://fonts.googleapis.com/css?family=Lato"))
;; => url(http://fonts.googleapis.com/css?family=Lato)
Ex.
(defcssfn attr
([name] name)
([name type-or-unit]
[[name type-or-unit]])
([name type-or-unit fallback]
[name [type-or-unit fallback]]))
;; => #'user/attr
(attr :vertical :length)
;; => #garden.types.CSSFunction{:function "url", :args [:vertical :length]}
(css (attr :vertical :length))
;; => "attr(vertical length)"
(attr :end-of-quote :string :inherit)
;; => #garden.types.CSSFunction{:function "url", :args [:end-of-quote [:string :inherit]]}
(css (attr :end-of-quote :string :inherit))
;; => "attr(end-of-quote string, inherit)"(defkeyframes sym & frames)Define a CSS @keyframes animation.
Ex. (defkeyframes my-animation [:from {:background "red"}]
[:to
{:background "yellow"}])
(css {:vendors ["webkit"]}
my-animation ;; Include the animation in the stylesheet.
[:div
^:prefix ;; Use vendor prefixing (optional).
{:animation [[my-animation "5s"]]}])
Define a CSS @keyframes animation.
Ex.
(defkeyframes my-animation
[:from
{:background "red"}]
[:to
{:background "yellow"}])
(css {:vendors ["webkit"]}
my-animation ;; Include the animation in the stylesheet.
[:div
^:prefix ;; Use vendor prefixing (optional).
{:animation [[my-animation "5s"]]}])(defrule sym & selectors)Define a function for creating rules. If only the name argument is
provided the rule generating function will default to using it as the
primary selector.
Ex. (defrule a) ;; => #'user/a
(a {:text-decoration "none"})
;; => [:a {:text-decoration "none"}]
Ex. (defrule sub-headings :h4 :h5 :h6) ;; => #'user/sub-headings
(sub-headings {:font-weight "normal"})
;; => [:h4 :h5 :h6 {:font-weight "normal"}]
Define a function for creating rules. If only the `name` argument is
provided the rule generating function will default to using it as the
primary selector.
Ex.
(defrule a)
;; => #'user/a
(a {:text-decoration "none"})
;; => [:a {:text-decoration "none"}]
Ex.
(defrule sub-headings :h4 :h5 :h6)
;; => #'user/sub-headings
(sub-headings {:font-weight "normal"})
;; => [:h4 :h5 :h6 {:font-weight "normal"}](defstyles name & styles)Convenience macro equivalent to (def name (list styles*)).
Convenience macro equivalent to `(def name (list styles*))`.
(defstylesheet name & styles)Convenience macro equivalent to (def name (css opts? styles*)).
Convenience macro equivalent to `(def name (css opts? styles*))`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |