'#' 방식
#login-form input {
}
BEM 방식
.login-form__input {
}
'#' 방식
#login-form input::placeholder {
}
BEM 방식
.login-form__input::placeholder {
}
'#' 방식
#login-form input[type="submit"] {
}
BEM 방식
.login-form__btn {
{
'#' 방식
#login-form a {
}
BEM 방식
.login-form__a {
}
'#' 방식
#login-form {
display: flex;
flex-direction: column; /*input 4개 세로로 나열*/
margin: 0px 30px; /* form틀 자체에 좌우 공간 주기*/
}
#login-form input {
padding: 15px 0px; /*내부 박스 안에서 위아래 공간주기*/
border: none; /*경계선 없애기*/
font-size: 18px;
margin-bottom: 20px; /*아래에 공간 주기*/
}
#login-form input::placeholder { /*Email~, Password 글자색 */
color: rgba(0,0,0,0.4); /*0,0,0은 검정색을 의미, 마지막 숫자 0.4는 투명도를 의미*/
}
#login-form input:not([type="submit"]) {
border-bottom: 1px solid rgba(0,0,0,0.2);
transition: border-color 0.3s ease-in-out; /*애니메이션*/
}
#login-form input:focus {
border-color: var(--yellow); /*variables.css에서 색 설정*/
}
#login-form input[type="submit"] {
background-color: var(--yellow);
cursor: pointer; /*옵션: pointer, not-allowed, progress*/
padding: 20px 0px;
border-radius: 5px;
}
#login-form a {
text-align: center; /*text를 가운데 정렬*/
text-decoration: none; /*text 스타일 초기화*/
color: inherit;
font-size: 13px;
}
BEM 방식
.login-form {
display: flex;
flex-direction: column;
margin: 0px 30px;
}
.login-form__input {
padding: 15px 0px;
border: none;
font-size: 18px;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
margin-bottom: 20px;
transition: border-color 0.3s ease-in-out;
}
.login-form__input::placeholder {
color: rgba(0,0,0,0.4);
}
.login-form__input:focus {
border-color: var(--yellow);
}
.login-form__btn {
background-color: var(--yellow);
cursor: pointer;
padding: 20px 0px;
border-radius: 5px;
border: none;
font-size: 18px;
margin-bottom: 20px;
}
.login-form__a {
text-align: center;
text-decoration: none;
color: inherit;
font-size: 13px;
}
style.css 파일에는 font-family이나 background-color와 같이 모든 스크린에 적용될 수 있는
스타일을 써놓는 것을 추천!✨
또 다른 방식이 있다면 그렇게 해도 되지만 니코샘 방식은 style.css 코드가 굉장히 깔끔 해 보이고 파일들도 'organized'하게 보인다.
<style.css>
@import url('https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap');
@import "reset.css";
@import "variables.css";
/*Components*/
@import "components/status-bar.css";
/*Screens*/
@import "screens/login.css"
body {
font-family: 'Nanum Pen Script', cursive;
}
form은 아주 중요한 2가지 속성(Attribute)를 가지고 있다. action과 method다.
아래 html 코드에서 action="friends.html"
로 되어 있으므로 유저가 입력한 정보들(email, phone number, password 등)은 friends.html에 저장된다.
method="get"
을 쓰면 프로젝트를 업로드 할 때 POST 방식은 작동하지 않고 오직 GET 방식만 작동한다.<form action="friends.html" method="get" id="login-form">
<input name="username" type="text" placeholder="Email or phone number" />
<input name="password" type="password" placeholder="Password">
<input type="submit" value="Log in" />
<input type="submit" value="Sign Up" />
<a href="#">Find Kokoa Account or Password</a>
</form>
Log in button을 클릭하면 사용자가 입력한 정보들을 가지고 friends.html 페이지로 이동한다.
action에 적어 놓은 URL(friends.html)을 따라가기 때문에 해당 URL이 반드시 존재해야 한다.
<friends.html>
log in 버튼을 클릭했을 때 나오는 창