👩🏻‍💻 TIL

2020_05_18_TIL

ji-hyun 2020. 5. 18. 21:28

오늘은 간단한 로그인 폼 만들기 연습을 해보았습니다.

따라해 볼 모델은 다음과 같습니다

 

 

 

 

HTML

<!DOCTYPE html>
<html>
    <head>
        <title>로그인 폼</title>
        <link href="./index_default.css" rel="stylesheet" />
</head>
<body>
    
<div class="device">

<h2>Sign in</h2>

<div class="login_form">
<input type="email" placeholder=" email" class="email" />
<input type="password" placeholder=" password" class="password" />
</div>

<div class="forgot_password">
    <h3>Forgot Password?</h3>
</div>

<div class="remember_me">
    <input type="checkbox" />
    <label for="remember_me"><b>Remember Me</b></label>
</div>

<div class="sign_in_button">
    Sign in
</div>
<div class="or">
    <b>OR</b>
</div>
<div class="another_login">
    <div class="twiter">twiter</div>
    <div class="facebook">facebook</div>
</div>
<div class="need_an_account">
<span id="need_an_account"><b>need an account?</b></span>
<span id="sign_up"><b>Sign up</b></span>
</div>
<div class="forgot_your_password">
<span id="forgot_your_password"><b>forgot your password?</b></span>
<span id="retrive"><b>Retrive</b></span>
</div>

</div>



<script>
    sign_button = document.querySelector('.sign_in_button');
    function clickMenuHandler(){
        sign_button.classList.add('button_active');
    }
    sign_button.addEventListener('click', clickMenuHandler);
    </script>
</body>
</html>

 

 

 

 

CSS

.device{
    position: absolute;
    top: 50%;
    left: 50%;                    // 컨테이너 시작점이 가운데로 배치되기 때문에 밑처럼 해줘야
    margin: -300px 0 0 -150px;    //1-4줄까지 화면 크기를 바꿔도 유동적으로 가운데 정렬
    width: 300px;
    height: 600px;
    border: 1px solid whitesmoke;
    border-radius: 20px;
    padding: 10px;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5);
    //수평그림자길이-양수, 수직그림자길이-양수, 그림자의 흐림반경(blur값), 그림자의 확산거리(spread값)- x, 그림자 색 
}
h2{
   text-align: center;
}
.login_form{
    width: 280px;
    margin-top: 60px;
    display: flex;
    flex-direction: column;  //default값이 row이므로 수직정렬을 위해서 column으로 설정한다
    
}
.email{
    margin-bottom: 10px;
    border-radius: 5px;
}
.password{
    border-radius: 5px;
}
.forgot_password{
    font-size: 10px;
    color: red;
    text-align: right;
    padding-right: 10px;
}
.remember_me{
    font-size: 12px;
    color: gray;
}
.sign_in_button{
    margin-top: 30px;
    background-color: red;
    border-radius: 20px;
    color: white;
    text-align: center;
    width: 280px;
    height: 40px;
    font-size: 10px;
    line-height: 40px;
}
.button_active{
    background-color: blue;
}
.or{
    color: gray;
    text-shadow: gray;
    margin-top: 30px;
    margin-bottom: 20px;
}
.another_login{
    width: 285px;
    height: 40px;
    display: flex;
    justify-content: space-between;
}
.twiter{
    background-color: darkblue;
    width: 128px;
    height: 39px;
    border-radius: 20px;
    text-align: center;
    color: white;
    font-size: 10px;
    line-height: 39px;   //텍스트 수직 가운데 정렬
}
.facebook{
    background-color: lightblue;
    width: 128px;
    height: 39px;
    border-radius: 20px;
    text-align: center;
    color: white;
    font-size: 10px;
    line-height: 39px;
}
.need_an_account{
    margin-top: 30px;
    font-size: 13px;
}
#need_an_account{
    color: gray;
}
#sign_up{
    color: red;
}
.forgot_your_password{
    font-size: 13px;
    margin-top: 6px;
}
#forgot_your_password{
    color: gray;
}
#retrive{
    color: red;
}

 

 

 

내가 따라한 핸드폰 로그인 화면

 

 

 

 

+ 새로 배운 내용 정리

<label for="input_name">Name : </label>
<input id="input name" type="text">

input은 html에서 많이 쓰는 element 중 하나이다. 따라서 고유의 id 값을 쓰면 좋다.

또한 label 과 보통 같이 쓰는데 input 이 뭔지를 나타내주기 위해 보통 input id와 동일하게 작성한다.

그리고 둘다 inline 속성이므로 한 줄에 같이 표시된다.

 

 

 

 

 

a[href^="naver"] {
	color: puple;
}

속성 값을 [ ] 안에 작성한다. 클래스 또한 속성 값이다.

예시: <p class="editor-note">My cat is very grumpy</p> 이라면 class 부분이 Attribute 이다.

^ 뜻은 속성 값 href 가 naver로 시작하면 글자 색을 보라색으로 바꾼다.

 

 

 

 

 

a[href$=".com"] {
	color: purple;
}

href 속성값이 .com 으로 끝나는 a 태그에 모조리 적용시키고 싶다면 $ 를 붙이도록 한다.

 

 

 

 

 

 

 

// HTML
<ol>
	<li id="special>First</li>
    <li>Second</li>
</ol>
// CSS
li#special {
	color: pink;
}

li 의 id값이 special 만 적용한다.

 

 

 

 

 

 

'👩🏻‍💻 TIL' 카테고리의 다른 글

Sqld 2과목 3장 필기 정리  (0) 2021.05.12
2020_05_27_TIL  (0) 2020.05.27
2020_05_26_TIL  (0) 2020.05.27
2020_05_23_TIL  (0) 2020.05.23
2020_05_09_TIL  (0) 2020.05.09