<div class="container">
<header><img src="/img/logo_text.png" class="logo"></header>
<form>
<input class="id" type="text" placeholder="전화번호 사용자 이름 또는 이메일" />
<input class="password" type="password" placeholder="비밀번호" />
<button class="button" disabled='disabled'>로그인</button>
</form>
<div class="link"><a href="#" >비밀번호를 잊으셨나요?</a></div>
margin :0 auto;로 중앙정렬을 하는데,
inline속성의 태그(ex.span, img)에서는 중앙정렬이 되지않았다. 이때 display:block을 해주면 된다.
- margin:0 auto 로 중앙정렬이 되지 않는 경우
1) DocType 선언 문제2) width<!DocType~~> 앞에는 어떤 문자도 선행되어서는 안되며 선언 또한 정확해야 한다.
폭의 연산이 불가능하면 가운데 정렬을 할 수 없다. 해결책은 overflow:hidden;
3) inline속성의 태그:display:block을 해주면 된다
input, button태그도 display:block으로 바꿈
a태그 가운데정렬은 div와 같은 block요소의 태그로 감싸고 text-align으로 조정한다.
.logo {
width: 178px;
height: 53px;
display: block;
margin: 0 auto;
/* inline 속성의 태그에서는 적용되지않기때문에 먼저 display:block으로 설정한다 .*/
}
.link {
text-align: center;
/*a태그 가운데정렬:block요소의 태그를 감싸고 text-align으로 조정한다*/
font-size: 12px;
}
inline요소들을 각각 block으로 바꾸지않아도 부모박스에서 수직,수평 방향만 정해주면되서 좀 더 편리했음!
body {
display: flex;
justify-content: center;
}
.container {
width: 350px;
height: 380px;
margin-top: 80px;
border: 1px solid #DBDBDB;
display: flex;
flex-direction: column;
align-items: center;
}
form {
display: flex;
flex-direction: column;
padding-top: 24px;
}
id, pw 에 각각 한 글자 이상 쓰면 버튼이 활성화 되면서 버튼색깔이 바뀌는 이벤트를 만들었다
const button = document.querySelector(".button");
const id = document.querySelector(".id");
const password = document.querySelector(".password");
const form = document.querySelector("form")
function loginEvent(e) {
if (password.value.length > 0 && id.value.length > 0) {
button.disabled = false;
button.style.backgroundColor = "#0095F6";
button.style.cursor = "pointer";
} else {
button.disabled = true;
button.style.backgroundColor = "#B9DFFC";
button.style.cursor = "default";
}
}
form.addEventListener("keyup", loginEvent);