======CSS Forms======
* description : CSS Forms
* author : 오션
* email : shlim@repia.com
* lastupdate : 2021-04-02
\\
=====Style HTML Elements With Specific Attributes=====
%%HTML%% **__폼__양식, Form**의 모양은 %%CSS%%로 크게 개선될 수 있습니다.\\
{{:wiki:css:css_note:htmlform.png?400|}}\\
=====Styling Input Fields=====
''%%width%%'' 속성을 사용하여 __입력 필드__Input Field의 너비를 결정합니다.\\
\\
input {
width: 100%;
}
\\
상기 예제는 모든 %%%% 요소에 적용됩니다.\\
특정 입력 유형에만 스타일을 지정하려는 경우, __속성 셀렉터__attribute selector를 사용할 수 있습니다.\\
* ''%%input [type = text]%%'' - 텍스트 필드만 선택합니다.
* ''%%input [type = password]%%'' - 비밀번호 필드만 선택합니다.
* ''%%input [type = number]%%'' - 숫자 필드만 선택합니다.
* 기타 등등..
=====Padded Inputs=====
''%%padding%%'' 속성을 사용하여 텍스트 필드 내부에 공백을 추가합니다.\\
\\
**Tip:** __입력__inputs이 여러 개 있는 경우, ''%%margin%%''을 추가하여 입력의 외부에 공간을 추가할 수도 있습니다.\\
\\
input[type=text] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
}
\\
''%%box-sizing%%'' 속성을 %%border-box%%로 설정했습니다. 이렇게 하면 패딩과 보더가 요소의 전체 너비와 높이에 포함됩니다.\\
=====Bordered Inputs=====
''%%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;
}
=====Colored Inputs=====
''%%background-color%%'' 속성을 사용하여 __입력__%%input%%에 배경색을 추가하고,\\
''%%color%%'' 속성을 사용하여 텍스트 색상을 변경합니다.\\
\\
input[type=text] {
background-color: #3CBC8D;
color: white;
}
=====Focused Inputs=====
기본적으로, 일부 브라우저는 __입력__%%input%%이 포커스 (클릭)되면, 입력 주위에 파란색 윤곽선을 추가합니다.\\
''%%outline: none;%%''을 입력에 추가하여, 이 동작을 제거할 수 있습니다.\\
\\
''%%:focus%%'' 셀렉터를 사용하여, 포커스를 받을 때 입력 필드로 작업을 수행합니다.\\
\\
{{:wiki:css:css_note:focusedinputs.png?400|}}\\
\\
input[type=text]:focus {
background-color: lightblue;
}
\\
input[type=text]:focus {
border: 3px solid #555;
}
=====Input with icon/image=====
입력 안에 아이콘을 넣으려면, ''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;
}
=====Animated Search Input=====
하기 예제에서, CSS ''transition'' 속성을 사용하여 포커스를 받을 때, 검색 입력 창 너비에 애니메이션을 적용합니다.\\
나중에 CSS transition 챕터에서 ''transition'' 속성에 대해 자세히 알아볼 것입니다.\\
\\
input[type=text] {
transition: width 0.4s ease-in-out;
}
input[type=text] {
width: 100%;
}
=====Styling Textareas=====
**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;
}
=====Styling Select Menus=====
select {
width: 100%;
padding: 16px 20px;
border: none;
border-radius: 4px;
background-color: #f1f1f1;
}
=====Styling Input Buttons=====
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로 버튼 스타일을 지정하는 방법에 대한 자세한 내용은 [[https://www.w3schools.com/css/css3_buttons.asp|CSS Buttons Tutorial]]를 참조하세요.\\
=====Responsive Form=====
반응형 폼의 효과를 보려면 브라우저 창 크기를 조정하십시오.\\
화면 너비가 600px 미만인 경우 두 개의 컬럼을 나란히 배치하는 대신 서로 겹쳐서 쌓으십시오.\\
\\
**Advanced:** 다음 예제에서는 미디어 쿼리를 사용하여 반응형 폼을 만듭니다.\\
\\
{{tag>오션 CSS Forms}}