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

CSS로 아이콘이 포함된 폼 만드는 방법 – Font Awesome 활용 가이드

웹 폼에 아이콘을 추가하면 사용자가 각 입력 필드의 용도를 한눈에 파악할 수 있어 사용자 경험이 크게 향상됩니다. 이 글에서는 Font Awesome 아이콘 라이브러리와 CSS Flexbox를 활용해 아이콘이 포함된 회원가입 폼을 만드는 방법을 예제 코드와 함께 살펴봅니다.

구현 원리

핵심 아이디어는 간단합니다. 각 입력 필드와 아이콘을 하나의 컨테이너(div.fieldContainer)로 묶고, display: flex를 적용해 아이콘과 입력창을 나란히 배치하는 것입니다.

  • Font Awesome 로드: CDN 링크를 통해 아이콘 스타일시트를 불러옵니다.
  • 아이콘 스타일링: .icon 클래스로 배경색, 패딩, 최소 너비를 지정해 입력창 왼쪽에 자연스럽게 붙도록 합니다.
  • 입력 필드: .field 클래스에 width: 100%를 적용해 남은 공간을 모두 차지하게 합니다.
  • 포커스 효과: :focus 선택자를 사용해 입력 중인 필드에 파란색 테두리(dodgerblue)를 표시합니다.

전체 예제 코드

다음은 아이콘이 포함된 폼을 만드는 전체 코드입니다.

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
<style>
body {
   font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
* {
   box-sizing: border-box;
}
h1 {
   text-align: center;
}
form {
   max-width: 500px;
   margin: auto;
}
.fieldContainer {
   display: flex;
   width: 100%;
   margin-bottom: 15px;
}
.icon {
   font-size: 30px;
   padding: 10px;
   background: rgb(11, 9, 116);
   color: white;
   min-width: 50px;
   text-align: center;
}
.field {
   font-size: 20px;
   width: 100%;
   padding: 10px;
   outline: none;
}
.field:focus {
   border: 2px solid dodgerblue;
}
.btn {
   font-size: 24px;
   background-color: rgb(20, 60, 170);
   color: white;
   padding: 15px 20px;
   border: none;
   cursor: pointer;
   width: 100%;
   opacity: 0.9;
   border-radius: 8px;
}
.btn:hover {
   opacity: 1;
}
</style>
</head>
<body>
<h1>Register Form Example</h1>
<form action="/action_page.php">
<div class="fieldContainer">
<i class="fa fa-user icon"></i>
<input class="field" type="text" placeholder="Username" name="usrnm" />
</div>
<div class="fieldContainer">
<i class="fa fa-envelope icon"></i>
<input class="field" type="text" placeholder="Email" name="email" />
</div>
<div class="fieldContainer">
<i class="fa fa-key icon"></i>
<input class="field" type="password" placeholder="Password" name="pass"/>
</div>
<div class="fieldContainer">
<i class="fa fa-birthday-cake icon" aria-hidden="true"></i>
<input class="field" type="text" placeholder="Date of Birth" name="dob"/>
</div>
<button type="submit" class="btn">Register</button>
</form>
</body>
</html>

주요 코드 설명

  • <i class="fa fa-user icon"> — Font Awesome에서 제공하는 사용자 아이콘을 표시합니다. 마찬가지로 fa-envelope(이메일), fa-key(비밀번호), fa-birthday-cake(생년월일) 아이콘을 활용했습니다.
  • .fieldContainer { display: flex; } — 아이콘과 입력창을 가로로 정렬하고, margin-bottom으로 필드 사이 간격을 유지합니다.
  • .btn:hover { opacity: 1; } — 버튼에 마우스를 올리면 불투명도가 100%가 되어 시각적인 반응을 줍니다.

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다. 각 입력 필드 왼쪽에 진한 남색 배경의 아이콘이 배치되고, 필드를 클릭하면 파란색 테두리가 나타나는 것을 확인할 수 있습니다.

CSS로 아이콘이 포함된 폼 만드는 방법 – Font Awesome 활용 가이드

마무리

이처럼 Font Awesome과 Flexbox만 있으면 별도의 이미지 파일 없이도 깔끔하고 직관적인 아이콘 폼을 손쉽게 만들 수 있습니다. 필요에 따라 아이콘 색상, 크기, 배경색을 조절해 사이트 디자인에 맞게 커스터마이징해 보세요.