<button>I am a button</button>
<button class="secondary">I am a secondary button</button>
<button class="outline">I am an outline button</button>
<button class="outline secondary">I am an outline secondary button</button>
<button class="orange">I am an outline button</button>
<button class="outline orange">I am an outline secondary button</button>


<button onClick="this.style.setProperty('--color', `hsl(${
                Math.random() * 360
            } 90% 50%)`)">I am a hue change button</button>
button {
  --_color: var(--color, black);
  background: var(--_color);
  border: 2px solid var(--_color);
  color: white;
}

button.secondary {
  --color: deeppink;
  --hoverColor: purple;
}

button.orange {
  --color: orange;
  --hoverColor: green;
}

button.outline {
  background: transparent;
  color: var(--_color);
}

button:is(:hover, :focus) {
  --color: var(--hoverColor, darkCyan);
}

/* presentation styles */

button {
  padding: 13px 20px;
  border-radius: 5px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .2s;
}


@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");

div {
  margin-block: 25px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: "Inter", sans-serif;
  font-size: 1.1rem;
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.