File tree Expand file tree Collapse file tree 3 files changed +180
-0
lines changed Expand file tree Collapse file tree 3 files changed +180
-0
lines changed Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>  
2+ < html  lang ="en "> 
3+   < head > 
4+     < meta  charset ="UTF-8 " /> 
5+     < meta  name ="viewport " content ="width=device-width, initial-scale=1.0 " /> 
6+     < title > Calendar</ title > 
7+     < link  rel ="stylesheet " href ="style.css " /> 
8+     < link 
9+       rel ="stylesheet "
10+       href ="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css "
11+     /> 
12+     < link 
13+       href ="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap "
14+       rel ="stylesheet "
15+     /> 
16+   </ head > 
17+   < body > 
18+     < div  class ="container "> 
19+       < div  class ="calendar "> 
20+         < div  class ="month "> 
21+           < div  class ="date "> 
22+             < h1 > </ h1 > 
23+             < p > </ p > 
24+           </ div > 
25+         </ div > 
26+         < div  class ="weekdays "> 
27+           < div > Mon</ div > 
28+           < div > Tue</ div > 
29+           < div > Wed</ div > 
30+           < div > Thu</ div > 
31+           < div > Fri</ div > 
32+           < div > Sat</ div > 
33+           < div > Sun</ div > 
34+         </ div > 
35+         < div  class ="days "> </ div > 
36+       </ div > 
37+     </ div > 
38+ 
39+     < script  src ="script.js "> </ script > 
40+   </ body > 
41+ </ html > 
Original file line number Diff line number Diff line change 1+ const  date  =  new  Date ( ) ; 
2+ 
3+ const  monthDays  =  document . querySelector ( ".days" ) ; 
4+ 
5+ const  lastDay  =  new  Date ( date . getFullYear ( ) ,  date . getMonth ( )  +  1 ,  0 ) . getDate ( ) ; 
6+ 
7+ const  firstDayIndex  =  date . getDay ( ) ; 
8+ 
9+ const  months  =  [ 
10+   "January" , 
11+   "February" , 
12+   "March" , 
13+   "April" , 
14+   "May" , 
15+   "June" , 
16+   "July" , 
17+   "August" , 
18+   "September" , 
19+   "October" , 
20+   "November" , 
21+   "December" , 
22+ ] ; 
23+ 
24+ document . querySelector ( ".date h1" ) . innerText  =  months [ date . getMonth ( ) ] ; 
25+ 
26+ document . querySelector ( ".date p" ) . innerText  =  new  Date ( ) . toDateString ( ) ; 
27+ 
28+ let  days  =  "" ; 
29+ 
30+ for  ( let  i  =  firstDayIndex  -  1 ;  i  >  0 ;  i -- )  { 
31+   days  +=  `<div class="empty"></div>` ; 
32+ } 
33+ 
34+ for  ( let  i  =  1 ;  i  <=  lastDay ;  i ++ )  { 
35+   if  ( i  ===  new  Date ( ) . getDate ( )  &&  date . getMonth ( )  ===  new  Date ( ) . getMonth ( ) )  { 
36+     days  +=  `<div class="today">${ i }  ; 
37+   }  else  { 
38+     days  +=  `<div>${ i }  ; 
39+   } 
40+ } 
41+ 
42+ monthDays . innerHTML  =  days ; 
Original file line number Diff line number Diff line change 1+ * 
2+   margin :  0 ;
3+   padding :  0 ;
4+   box-sizing :  border-box;
5+   font-family :  sans-serif;
6+ }
7+ 
8+ .container  {
9+   width :  100%  ;
10+   height :  100vh  ;
11+   background-color :  salmon;
12+   color :  lightgray;
13+   display :  flex;
14+   justify-content :  center;
15+   align-items :  center;
16+ }
17+ 
18+ .calendar  {
19+   width :  450px  ;
20+   height :  520px  ;
21+   background-color :  black;
22+   box-shadow :  4px   4px   8px   rgba (0 ,  0 ,  0 ,  0.4 );
23+   border-radius :  10px  ;
24+ }
25+ 
26+ .month  {
27+   width :  100%  ;
28+   height :  120px  ;
29+   background-color :  lightseagreen;
30+   display :  flex;
31+   justify-content :  center;
32+   align-items :  center;
33+   padding :  0  20px  ;
34+   text-align :  center;
35+   border-radius :  10px   10px   0  0 ;
36+ }
37+ 
38+ .month  i  {
39+   font-size :  25px  ;
40+   cursor :  pointer;
41+ }
42+ 
43+ .month  h1  {
44+   font-size :  30px  ;
45+   font-weight :  400 ;
46+   text-transform :  uppercase;
47+   letter-spacing :  2px  ;
48+   margin-bottom :  1px  ;
49+ }
50+ 
51+ .month  p  {
52+   font-size :  16px  ;
53+ 
54+ }
55+ 
56+ .weekdays  {
57+   width :  100%  ;
58+   height :  50px  ;
59+   display :  flex;
60+ }
61+ 
62+ .weekdays  div  {
63+   font-size :  15px  ;
64+   font-weight :  bold;
65+   letter-spacing :  1px  ;
66+   width :  100%  ;
67+   display :  flex;
68+   align-items :  center;
69+   justify-content :  center;
70+ }
71+ 
72+ .days  {
73+   width :  100%  ;
74+   display :  flex;
75+   flex-wrap :  wrap;
76+   padding :  2px  ;
77+ }
78+ 
79+ .days  div  {
80+   font-size :  14px  ;
81+   margin :  3px  ;
82+   width :  57.5px  ;
83+   height :  50px  ;
84+   display :  flex;
85+   justify-content :  center;
86+   align-items :  center;
87+ }
88+ 
89+ .days  div : hover : not (.empty ) {
90+   border :  2px   solid gray;
91+   cursor :  pointer;
92+ }
93+ 
94+ .today  {
95+   background-color :  lightseagreen;
96+ 
97+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments