css(key, value) {
    if (typeof key !== "undefined" && typeof value !== "undefined") {
      if (key.indexOf("--") === 0 && typeof value !== "undefined") {
        this.el.style.setProperty(key, value);
      } else {
        this.el.style[key] = value;
      }
    } else if (typeof key !== "undefined") {
      if (typeof key === "string") {
        return window.getComputedStyle(this.el)[key];
      } else {
        Object.entries(key).forEach(([localKey, value]) => {
          if (localKey.indexOf("--") === 0 && typeof value !== "undefined") {
            this.el.style.setProperty(localKey, value);
          } else {
            this.el.style[localKey] = value;
          }
        });
      }
    }

    return this;
  }
$el.css`
 border-color: yellow;
`

@param {*} key
@param {*} value