code: function (obj, value) {
  		var key,
  			elem = this._element,
  			val,
  			style = elem.style;
  
  		//if an object passed
  		if (typeof obj === "object") {
  			for (key in obj) {
  				if (!obj.hasOwnProperty(key)) continue;
  				val = obj[key];
  				if (typeof val === "number") val += 'px';
  
  				style[Crafty.DOM.camelize(key)] = val;
  			}
  		} else {
  			//if a value is passed, set the property
  			if (value) {
  				if (typeof value === "number") value += 'px';
  				style[Crafty.DOM.camelize(obj)] = value;
  			} else { //otherwise return the computed property
  				return Crafty.DOM.getStyle(elem, obj);
  			}
  		}
  
  		this.trigger("Change");
  
  		return this;
  	}
docs: @
  #.css
  @comp DOM
  @sign public * css(String property, String value)
  @param property - CSS property to modify
  @param value - Value to give the CSS property
  @sign public * css(Object map)
  @param map - Object where the key is the CSS property and the value is CSS value
  
  Apply CSS styles to the element.
  
  Can pass an object where the key is the style property and the value is style value.
  
  For setting one style, simply pass the style as the first argument and the value as the second.
  
  The notation can be CSS or JS (e.g. `text-align` or `textAlign`).
  
  To return a value, pass the property.
  
  Note: For entities with "Text" component, some css properties are controlled by separate functions
  `.textFont()` and `.textColor()`, and ignore `.css()` settings. See Text component for details.
  
  @example
  ~~~
  this.css({'text-align', 'center', 'text-decoration': 'line-through'});
  this.css("textAlign", "center");
  this.css("text-align"); //returns center
  ~~~