code: function css(elm, property, value) {
          if (arguments.length < 3) {
              var computedStyle,
                  computedStyle = getComputedStyle(elm, '')
              if (langx.isString(property)) {
                  return elm.style[camelCase(property)] || computedStyle.getPropertyValue(dasherize(property))
              } else if (langx.isArrayLike(property)) {
                  var props = {}
                  forEach.call(property, function(prop) {
                      props[prop] = (elm.style[camelCase(prop)] || computedStyle.getPropertyValue(dasherize(prop)))
                  })
                  return props
              }
          }
  
          var css = '';
          if (typeof(property) == 'string') {
              if (!value && value !== 0) {
                  elm.style.removeProperty(dasherize(property));
              } else {
                  css = dasherize(property) + ":" + maybeAddPx(property, value)
              }
          } else {
              for (key in property) {
                  if (property[key] === undefined) {
                      continue;
                  }
                  if (!property[key] && property[key] !== 0) {
                      elm.style.removeProperty(dasherize(key));
                  } else {
                      css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';'
                  }
              }
          }
  
          elm.style.cssText += ';' + css;
          return this;
      }
docs: /*
  Get the value of a computed style property for the first element in the set of matched elements or set one or more CSS properties for every matched element.
  @param {HTMLElement} elm
  @param {String} property
  @param {Any} value