File tree Expand file tree Collapse file tree 3 files changed +186
-0
lines changed Expand file tree Collapse file tree 3 files changed +186
-0
lines changed Original file line number Diff line number Diff line change 1+ const  loginForm  =  document . querySelector ( ".login-form" ) ; 
2+ const  signupForm  =  document . querySelector ( ".signup-form" ) ; 
3+ const  loginBtn  =  document . querySelector ( ".login button" ) ; 
4+ const  signupBtn  =  document . querySelector ( ".signup button" ) ; 
5+ const  backLayer  =  document . querySelector ( ".back-layer" ) ; 
6+ 
7+ signupBtn . addEventListener ( "click" ,  ( )  =>  { 
8+   loginForm . classList . remove ( "active" ) ; 
9+   signupForm . classList . add ( "active" ) ; 
10+   backLayer . style . clipPath  =  "inset(0 0 0 50%)" ; 
11+ } ) ; 
12+ 
13+ loginBtn . addEventListener ( "click" ,  ( )  =>  { 
14+   signupForm . classList . remove ( "active" ) ; 
15+   loginForm . classList . add ( "active" ) ; 
16+   backLayer . style . clipPath  =  "" ; 
17+ } ) ; 
Original file line number Diff line number Diff line change 1+ < html  lang ="en "> 
2+   < head > 
3+     < meta  charset ="UTF-8 " /> 
4+     < meta  http-equiv ="X-UA-Compatible " content ="IE=edge " /> 
5+     < meta  name ="viewport " content ="width=device-width, initial-scale=1.0 " /> 
6+     < title > New Form</ title > 
7+     < link  rel ="stylesheet " href ="style.css " /> 
8+   </ head > 
9+   < body > 
10+     < main > 
11+       < div  class ="signup "> 
12+         < span > Not a member?</ span > 
13+         < button  type ="button " class ="sign-up-btn "> Sign Up</ button > 
14+       </ div > 
15+       < div  class ="login "> 
16+         < span > Already have an account?</ span > 
17+         < button  type ="button "> Login</ button > 
18+       </ div > 
19+ 
20+       < div  class ="back-layer "> 
21+         < form  action ="" class ="login-form active "> 
22+           < h2  class ="login-label "> Login</ h2 > 
23+           < input  type ="email " id ="lemail " placeholder ="Email " /> 
24+           < input  type ="password " id ="lpassword " placeholder ="Password " /> 
25+           < button  type ="button "> Login</ button > 
26+         </ form > 
27+ 
28+         < form  action ="" class ="signup-form "> 
29+           < h2 > Sign Up</ h2 > 
30+           < input  type ="text " id ="f-name " placeholder ="First Name " /> 
31+           < input  type ="text " id ="l-name " placeholder ="last Name " /> 
32+           < input  type ="email " id ="semail " placeholder ="Email " /> 
33+           < input  type ="password " id ="spassword " placeholder ="Password " /> 
34+           < button  type ="button "> Sign Up</ button > 
35+         </ form > 
36+       </ div > 
37+     </ main > 
38+ 
39+     < script  src ="app.js "> </ script > 
40+   </ body > 
41+ </ html > 
Original file line number Diff line number Diff line change 1+ * 
2+   box-sizing :  border-box;
3+ }
4+ 
5+ body  {
6+   margin :  0 ;
7+   padding :  0 ;
8+   background-color :  # 111933
9+   font-family :  sans-serif;
10+ }
11+ 
12+ a  {
13+   text-decoration :  none;
14+ }
15+ 
16+ main  {
17+   display :  grid;
18+   grid-template-columns :  1fr   1fr  ;
19+   align-items :  center;
20+   margin :  100px   auto 0 ;
21+   max-width :  800px  ;
22+   overflow :  hidden;
23+ }
24+ 
25+ main  >  * 
26+   grid-row :  1  /  2 ;
27+ }
28+ 
29+ .login , 
30+ .signup  {
31+   display :  flex;
32+   flex-direction :  column;
33+   justify-content :  center;
34+   align-items :  center;
35+   gap :  10px  ;
36+   padding :  40%   0 ;
37+   color :  # fff
38+   font-size :  30px  ;
39+   background :  # cf0b4c
40+ }
41+ 
42+ .login  >  button , 
43+ .signup  >  button  {
44+   border :  none;
45+   background-color :  # fff
46+ }
47+ 
48+ .login  {
49+   grid-column :  1  /  2 ;
50+ }
51+ .signup  {
52+   grid-column :  2  /  3 ;
53+ }
54+ .login-form  {
55+   grid-column :  1  /  2 ;
56+   transform :  translateX (-100%  );
57+ }
58+ .signup-form  {
59+   grid-column :  2  /  3 ;
60+   transform :  translateX (100%  );
61+ }
62+ 
63+ form  {
64+   padding :  30px   20px  ;
65+   max-width :  500px  ;
66+   height :  520px  ;
67+   z-index :  10 ;
68+   display :  flex;
69+   flex-direction :  column;
70+   justify-content :  center;
71+   transition :  transform 0.5s  ;
72+ }
73+ 
74+ form .active  {
75+   transform :  translateX (0 );
76+ }
77+ 
78+ .back-layer  {
79+   display :  grid;
80+   grid-column :  1  /  3 ;
81+   grid-template-columns :  1fr   1fr  ;
82+   clip-path :  inset (0  50%   0  0 );
83+   background :  # fff
84+   z-index :  5 ;
85+   transition :  clip-path 0.3s  ;
86+ }
87+ 
88+ .login-label  {
89+   text-align :  center;
90+   font-size :  40px  ;
91+ }
92+ 
93+ input  {
94+   display :  block;
95+   height :  40px  ;
96+   width :  300px  ;
97+   padding-left :  15px  ;
98+   margin :  30px   0 ;
99+   border :  2px   solid # ccc
100+   margin-bottom :  20px  ;
101+   margin-top :  5px  ;
102+   outline :  none;
103+ }
104+ 
105+ input : focus  {
106+   border-color :  # cf0b4c
107+ }
108+ 
109+ label  {
110+   font-weight :  normal;
111+ }
112+ 
113+ button  {
114+   background :  transparent;
115+   border :  2px   solid;
116+   color :  # cf0b4c
117+   width :  120px  ;
118+   height :  40px  ;
119+   text-transform :  uppercase;
120+   /* font-weight: 600; */ 
121+   font-size :  16px  ;
122+   cursor :  pointer;
123+ }
124+ 
125+ form  button : hover  {
126+   background-color :  # cf0b4c
127+   color :  # fff
128+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments