<form>
  <button>기본</button>
  <button disabled class="success">성공</button>
  <button class="error">오류</button>
  <button class="warning">경고</button>
</form>
form {
  --button-color: #ffffff;
  --button-bg-color: #0d6efd;
  --button-hover-bg-color: #025ce2;
  
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 100vh;

  button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background: var(--button-bg-color);
    color: var(--button-color);

    margin: 0;
    padding: 0.5rem 1rem;

    font-family: "Noto Sans KR", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    text-decoration: none;

    border: none;
    border-radius: 4px;

    display: inline-block;
    width: auto;

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
      0 2px 4px -1px rgba(0, 0, 0, 0.06);

    cursor: pointer;

    transition: 0.5s;
    
    @media (min-width: 1024px) {
      padding: 0.75rem 1.5rem;
      font-size: 2rem;
      border-radius: 8px;
    }

    &.success {
      --button-bg-color: #28a745;
      --button-hover-bg-color: #218838;
    }

    &.error {
      --button-bg-color: #dc3545;
      --button-hover-bg-color: #c82333;
    }

    &.warning {
      --button-color: #212529;
      --button-bg-color: #ffc107;
      --button-hover-bg-color: #e0a800;
    }

    &:active,
    &:hover,
    &:focus {
      background: var(--button-hover-bg-color);
      outline: 0;
    }
    
    &:disabled {
      opacity: 0.5;
    }
  }
}

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

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.