code: function (styles) {
  		/*jslint unparam: true*//* allow unused param a in the regexp function below */
  		var elemWrapper = this,
  			elem = elemWrapper.element,
  			textWidth = styles && styles.width && elem.nodeName.toLowerCase() === 'text',
  			n,
  			serializedCss = '',
  			hyphenate = function (a, b) { return '-' + b.toLowerCase(); };
  		/*jslint unparam: false*/
  
  		// convert legacy
  		if (styles && styles.color) {
  			styles.fill = styles.color;
  		}
  
  		// Merge the new styles with the old ones
  		styles = extend(
  			elemWrapper.styles,
  			styles
  		);
  
  		// store object
  		elemWrapper.styles = styles;
  
  
  		// Don't handle line wrap on canvas
  		if (useCanVG && textWidth) {
  			delete styles.width;
  		}
  
  		// serialize and set style attribute
  		if (isIE && !hasSVG) { // legacy IE doesn't support setting style attribute
  			if (textWidth) {
  				delete styles.width;
  			}
  			css(elemWrapper.element, styles);
  		} else {
  			for (n in styles) {
  				serializedCss += n.replace(/([A-Z])/g, hyphenate) + ':' + styles[n] + ';';
  			}
  			attr(elem, 'style', serializedCss); // #1881
  		}
  
  
  		// re-build text
  		if (textWidth && elemWrapper.added) {
  			elemWrapper.renderer.buildText(elemWrapper);
  		}
  
  		return elemWrapper;
  	}
docs: Set styles for the element
  @param {Object} styles