Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS만으로 애니메이션 검색 폼 만드는 방법 완벽 가이드

CSS로 애니메이션 검색 폼 구현하기

CSS의 transition 속성을 활용하면 별도의 JavaScript 없이도 검색 입력창에 부드러운 애니메이션 효과를 추가할 수 있습니다. 아래 예제는 검색창을 클릭(포커스)했을 때 입력창의 너비가 자연스럽게 확장되는 애니메이션 검색 폼입니다.

예제 코드

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}
input[type=text] {
  width: 170px;
  font-size: 16px;
  background-color: white;
  padding: 12px 20px 12px 40px;
  transition: width 0.4s ease-in-out;
}
input[type=text]:focus {
  width: 100%;
}
</style>
</head>
<body>
<h1>애니메이션 검색 폼 예제</h1>
<form>
검색:
<input type="text" name="search" placeholder="여기에 검색하세요...">
</form>
</body>
</html>

코드 설명

  • transition: width 0.4s ease-in-out; — 입력창의 너비가 변경될 때 0.4초 동안 부드럽게 변화하도록 설정합니다.
  • :focus 선택자 — 사용자가 입력창을 클릭하거나 탭으로 포커스를 이동하면 width가 100%로 확장됩니다.
  • box-sizing: border-box; — 패딩과 테두리가 포함된 크기를 유지해 레이아웃이 깨지지 않도록 합니다.

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

CSS만으로 애니메이션 검색 폼 만드는 방법 완벽 가이드

검색 박스를 클릭하면 입력창이 아래와 같이 넓어집니다.

CSS만으로 애니메이션 검색 폼 만드는 방법 완벽 가이드

마무리

이처럼 CSS의 transition:focus 가상 클래스만으로도 간단하고 세련된 애니메이션 검색 폼을 만들 수 있습니다. 필요에 따라 전환 시간을 조정하거나 배경색, 테두리 스타일을 추가해 더욱 풍부한 사용자 경험을 제공할 수 있습니다.