코딩 스쿨 CSS

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

CSS Buttons

CSS Buttons: 스타일링과 상호작용을 위한 버튼 디자인

CSS 버튼은 웹 페이지의 사용자 인터페이스에서 중요한 역할을 합니다. 버튼을 매력적으로 만들고, 호버 또는 클릭 시의 상호작용을 추가하면 웹사이트의 사용성시각적 매력이 크게 향상됩니다. 이 자료에서는 버튼 스타일링을 위한 기본 속성과 다양한 디자인 및 효과를 적용하는 방법을 설명합니다.

1. 기본 버튼 스타일링

CSS 버튼의 기본적인 스타일을 설정하는 방법부터 살펴보겠습니다.

기본 버튼 HTML

<button class="basic-btn">Click me</button>

기본 버튼 CSS

.basic-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #4CAF50;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.basic-btn:hover {
  background-color: #45a049; /* 호버 시 배경색 변경 */
}
  • padding: 버튼 안의 텍스트 주위에 여백을 설정합니다.
  • font-size: 텍스트 크기를 설정합니다.
  • background-color: 버튼의 배경색을 설정합니다.
  • border-radius: 버튼의 모서리를 둥글게 만듭니다.
  • cursor: 마우스 커서가 버튼 위로 올 때 포인터로 변경됩니다.
  • 호버 효과: 마우스를 버튼에 올렸을 때 배경색이 바뀌도록 설정합니다.

2. 둥근 버튼 (Rounded Button)

둥근 버튼은 부드럽고 매력적인 디자인을 제공할 수 있습니다.

둥근 버튼 CSS

.round-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #008CBA;
  border: none;
  border-radius: 50px; /* 완전히 둥근 모서리 */
  cursor: pointer;
}

.round-btn:hover {
  background-color: #007bb5; /* 호버 시 배경색 변경 */
}
  • border-radius: 50px: 버튼 모서리를 둥글게 만들어 완전한 타원형 버튼을 생성합니다.

3. 버튼에 그림자 추가 (Box Shadow)

버튼에 그림자를 추가하면 버튼이 떠 있는 듯한 입체감을 줄 수 있습니다.

그림자 버튼 CSS

.shadow-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #f44336;
  border: none;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* 그림자 추가 */
  cursor: pointer;
}

.shadow-btn:hover {
  background-color: #da190b;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4); /* 호버 시 그림자 강조 */
}
  • box-shadow: 버튼에 그림자를 추가하여 입체적 효과를 줍니다.
  • 호버 시 그림자의 크기를 늘려 버튼이 더 떠 있는 느낌을 줍니다.

4. 버튼에 애니메이션 효과 적용

버튼이 서서히 변하는 효과를 주면 더 매력적인 상호작용을 만들 수 있습니다. CSS의 transition 속성을 사용하면 부드러운 변화를 적용할 수 있습니다.

애니메이션 버튼 CSS

.animated-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #e7e7e7;
  color: black;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease; /* 서서히 변화 */
}

.animated-btn:hover {
  background-color: #d4d4d4;
  transform: scale(1.05); /* 호버 시 살짝 확대 */
}
  • transition: 버튼의 배경색과 크기가 부드럽게 변하는 효과를 적용합니다.
  • transform: scale(1.05): 호버 시 버튼이 5% 확대됩니다.

5. 아이콘이 있는 버튼

버튼에 아이콘을 추가하면 더 직관적이고 시각적으로 이해하기 쉬운 버튼을 만들 수 있습니다.

HTML: 아이콘이 있는 버튼

<button class="icon-btn">
  <i class="fas fa-check"></i> Submit
</button>

  • <i class="fas fa-check">: Font Awesome과 같은 아이콘 폰트를 사용해 아이콘을 추가합니다.

아이콘 버튼 CSS

.icon-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: white;
  background-color: #4CAF50;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.icon-btn i {
  margin-right: 8px; /* 아이콘과 텍스트 사이에 간격 추가 */
}

.icon-btn:hover {
  background-color: #45a049;
}
  • display: inline-flex: 아이콘과 텍스트가 같은 라인에 나란히 배치되도록 합니다.
  • margin-right: 8px: 아이콘과 텍스트 사이에 간격을 추가하여 시각적으로 깔끔하게 만듭니다.

6. 투명한 버튼 (Outline Button)

투명 버튼은 테두리만 있는 깔끔한 스타일로, 배경을 투명하게 처리하여 다양한 디자인에 적합합니다.

투명 버튼 CSS

.outline-btn {
  padding: 10px 20px;
  font-size: 16px;
  color: #4CAF50;
  background-color: transparent;
  border: 2px solid #4CAF50;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.outline-btn:hover {
  background-color: #4CAF50;
  color: white; /* 배경색과 텍스트 색상 변경 */
}
  • background-color: transparent: 배경을 투명하게 처리하여 테두리만 보이도록 합니다.
  • 호버 시 배경색텍스트 색상을 반전시켜 버튼이 활성화된 것처럼 보이게 합니다.

7. 반응형 버튼 (Responsive Button)

반응형 버튼은 모바일 기기에서도 잘 보이도록 크기와 간격이 자동으로 조정됩니다.

반응형 버튼 CSS

.responsive-btn {
  padding: 12px 24px;
  font-size: 18px;
  color: white;
  background-color: #008CBA;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%; /* 화면 크기에 따라 버튼 너비가 자동 조정 */
  max-width: 300px; /* 최대 너비 제한 */
}

@media (max-width: 600px) {
  .responsive-btn {
    padding: 10px 20px;
    font-size: 16px;
  }
}
  • width: 100%: 버튼이 부모 컨테이너의 너비에 맞게 조정됩니다.
  • 미디어 쿼리: 600px 이하의 화면에서 버튼 크기와 패딩을 줄여 모바일 최적화를 진행합니다.

8. 실전 예시: 다양한 버튼 스타일 모음

<button class="basic-btn">Basic Button</button>
<button class="round-btn">Rounded Button</button>
<button class="shadow-btn">Shadow Button</button>
<button class="animated-btn">Animated Button</button>
<button class="icon-btn">
  <i class="fas fa-check"></i> Icon Button
</button>
<button class="outline-btn">Outline Button</button>
<button class="responsive-btn">Responsive Button</button>

이 예시는 다양한 스타일의 버튼들을 한 페이지에서 보여주며, 기본 버튼에서부터 둥근 버튼, 아이콘 버튼까지 다양한 스타일링을 제공합니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com