code: public String curCSS(Element elem, String name, boolean force) {
      if (elem == null) {
        return "";
      }
      name = fixPropertyName(name);
      // value defined in the element style
      String ret = elem.getStyle().getProperty(name);
  
      if (force) {
  
        Element toDetach = null;
        if (JsUtils.isDetached(elem)) {
          // If the element is detached to the DOM we attach temporary to it
          toDetach = attachTemporary(elem);
        }
  
        if (sizeRegex.test(name)) {
          ret = getVisibleSize(elem, name) + "px";
        } else if ("opacity".equalsIgnoreCase(name)) {
          ret = String.valueOf(getOpacity(elem));
        } else {
          ret = getComputedStyle(elem, JsUtils.hyphenize(name), name, null);
        }
  
        // If the element was previously attached, detached it.
        if (toDetach != null) {
          toDetach.removeFromParent();
        }
      }
  
      return ret == null ? "" : ret;
    }
docs: Return the string value of a css property of an element.
  
  The parameter force has a special meaning:
  - When force is false, returns the value of the css property defined
  in the set of style attributes.
  - Otherwise it returns the real computed value.
  
  For instance if you do not define 'display=none' in the element style but in
  the css stylesheet, it will return an empty string unless you pass the
  parameter force=true.