width
속성을 사용하여 입력 필드Input Field의 너비를 결정합니다.
input { width: 100%; }
상기 예제는 모든 <input> 요소에 적용됩니다.
특정 입력 유형에만 스타일을 지정하려는 경우, 속성 셀렉터attribute selector를 사용할 수 있습니다.
input [type = text]
- 텍스트 필드만 선택합니다.input [type = password]
- 비밀번호 필드만 선택합니다.input [type = number]
- 숫자 필드만 선택합니다.
padding
속성을 사용하여 텍스트 필드 내부에 공백을 추가합니다.
Tip: 입력inputs이 여러 개 있는 경우, margin
을 추가하여 입력의 외부에 공간을 추가할 수도 있습니다.
input[type=text] { width: 100%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; }
box-sizing
속성을 border-box로 설정했습니다. 이렇게 하면 패딩과 보더가 요소의 전체 너비와 높이에 포함됩니다.
border
속성을 사용하여 보더 크기와 색상을 변경하고, border-radius
속성을 사용하여 둥근 모서리를 추가합니다.
input[type=text] { border: 2px solid red; border-radius: 4px; }
아래쪽 보더만 원하는 경우, border-bottom
속성을 사용하십시오:
input[type=text] { border: none; border-bottom: 2px solid red; }
background-color
속성을 사용하여 입력input에 배경색을 추가하고,
color
속성을 사용하여 텍스트 색상을 변경합니다.
input[type=text] { background-color: #3CBC8D; color: white; }
기본적으로, 일부 브라우저는 입력input이 포커스 (클릭)되면, 입력 주위에 파란색 윤곽선을 추가합니다.
outline: none;
을 입력에 추가하여, 이 동작을 제거할 수 있습니다.
:focus
셀렉터를 사용하여, 포커스를 받을 때 입력 필드로 작업을 수행합니다.
input[type=text]:focus { background-color: lightblue; }
input[type=text]:focus { border: 3px solid #555; }
입력 안에 아이콘을 넣으려면, background-image
속성을 사용하고 background-position
속성으로 배치합니다.
또한 아이콘의 공간을 확보하기 위해 큰 좌측 패딩을 추가합니다:
input[type=text] { background-color: white; background-image: url('searchicon.png'); background-position: 10px 10px; background-repeat: no-repeat; padding-left: 40px; }
하기 예제에서, CSS transition
속성을 사용하여 포커스를 받을 때, 검색 입력 창 너비에 애니메이션을 적용합니다.
나중에 CSS transition 챕터에서 transition
속성에 대해 자세히 알아볼 것입니다.
input[type=text] { transition: width 0.4s ease-in-out; } input[type=text] { width: 100%; }
Tip: resize
속성을 사용하여 텍스트 영역textareas의 크기가 조정되지 않도록 합니다.
(우측 하단 모서리에 있는 “grabber”를 비활성화).
textarea { width: 100%; height: 150px; padding: 12px 20px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #f8f8f8; resize: none; }
select { width: 100%; padding: 16px 20px; border: none; border-radius: 4px; background-color: #f1f1f1; }
input[type=button], input[type=submit], input[type=reset] { background-color: #4CAF50; border: none; color: white; padding: 16px 32px; text-decoration: none; margin: 4px 2px; cursor: pointer; } /* Tip: use width: 100% for full-width buttons */
CSS로 버튼 스타일을 지정하는 방법에 대한 자세한 내용은 CSS Buttons Tutorial를 참조하세요.
반응형 폼의 효과를 보려면 브라우저 창 크기를 조정하십시오.
화면 너비가 600px 미만인 경우 두 개의 컬럼을 나란히 배치하는 대신 서로 겹쳐서 쌓으십시오.
Advanced: 다음 예제에서는 미디어 쿼리를 사용하여 반응형 폼을 만듭니다.