27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Distorted Text Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Document
8 |
9 |
10 |
11 | R
12 | U
13 | T
14 | U
15 | J
16 | A
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Distorted Text Animation/style.css:
--------------------------------------------------------------------------------
1 |
2 | body{
3 | margin: 0;
4 | padding: 0;
5 | background: #f28482;
6 | }
7 |
8 | ul{
9 | position: absolute;
10 | top: 50%;
11 | left: 10%;
12 | transform: translate(0, -50%);
13 | }
14 |
15 | li{
16 | list-style: none;
17 | float: left;
18 | color: transparent;
19 | font-family: "Arial black";
20 | font-size: 13em;
21 | position: relative;
22 | }
23 |
24 | ul li:before,
25 | ul li:after{
26 | content: attr(data-title);
27 | color: #262626;
28 | position: absolute;
29 | top: 0;
30 | left: 0;
31 | overflow: hidden;
32 | }
33 |
34 | ul li:nth-child(odd):before{
35 | -webkit-clip-path:polygon(55% 0, 0 0, 0 100%, 35% 100%);
36 | clip-path:polygon(55% 0, 0 0, 0 100%, 35% 100%);
37 | top: -7px;
38 | left: -2px;
39 | }
40 |
41 | ul li:nth-child(odd):after{
42 | -webkit-clip-path:polygon(55% 0, 100% 0, 100% 100%, 35% 100%);
43 | clip-path:polygon(55% 0, 100% 0, 100% 100%, 35% 100%);
44 | top: 2px;
45 | left: 2px;
46 | }
47 |
48 | ul li:nth-child(even):before{
49 | -webkit-clip-path:polygon(25% 0, 0 0, 0 100%, 75% 100%);
50 | clip-path:polygon(25% 0, 0 0, 0 100%, 75% 100%);
51 | top: 10px;
52 | left: -2px;
53 | }
54 |
55 | ul li:nth-child(even):after{
56 | -webkit-clip-path:polygon(25% 0, 100% 0, 100% 100%, 75% 100%);
57 | clip-path:polygon(25% 0, 100% 0, 100% 100%, 75% 100%);
58 | top: 2px;
59 | left: 2px;
60 | }
61 |
62 | ul li:nth-child(even){
63 | animation: even 3s linear infinite;
64 | }
65 |
66 | ul li:nth-child(odd){
67 | animation: odd 3s linear infinite;
68 | }
69 |
70 | @keyframes even{
71 | 0%{
72 | transform: rotate(15deg);
73 | }
74 | 25%{
75 | transform: rotate(0deg);
76 | }
77 | 50%{
78 | transform: rotate(-15deg);
79 | }
80 | 75%{
81 | transform: rotate(0deg);
82 | }
83 | 100%{
84 | transform: rotate(15deg);
85 | }
86 | }
87 |
88 | @keyframes odd{
89 | 0%{
90 | transform: rotate(-15deg);
91 | }
92 | 25%{
93 | transform: rotate(0deg);
94 | }
95 | 50%{
96 | transform: rotate(15deg);
97 | }
98 | 75%{
99 | transform: rotate(0deg);
100 | }
101 | 100%{
102 | transform: rotate(-15deg);
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/Ecommerce Website Design/Ecommerce-Website-Design-images.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rutuja927/HTML-CSS-JAVASCRIPT-PROJECTS/386dfa59397a4d79fb89ac3929a76c366a68defb/Ecommerce Website Design/Ecommerce-Website-Design-images.zip
--------------------------------------------------------------------------------
/Esports-athelete-card-design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Document
8 |
9 |
10 |
11 |
12 |
13 |
INDIA
14 |
15 |
16 |
17 |
SCOUTOP
18 |
Esports Athlete
19 |
20 | 12
21 | 2000
22 |
23 |
24 | Kills
25 | Damage
26 |
27 |
Follow
28 |
ScoutOp is one of the top BGMI players in the Indian Esports community. You could also say that scout is the first BGMI player to play in India.
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Esports-athelete-card-design/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 | .container{
11 | width: 100vw;
12 | height: 100vh;
13 | background: linear-gradient(to right, #be93c5, #7bc6cc);
14 | display: flex;
15 | justify-content: center;
16 | align-items: center;
17 | }
18 |
19 | .card{
20 | width: 400px;
21 | height: 600px;
22 | background-color: #faf3dd;
23 | display: flex;
24 | justify-content: space-between;
25 | align-items: center;
26 | flex-direction: column;
27 | border-radius: 20px;
28 | box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
29 | }
30 |
31 | .top{
32 | position: relative;
33 | width: 100%;
34 | height: 100%;
35 | flex-basis: 35%;
36 | background: url("https://g2g.news/wp-content/uploads/2023/02/Sc0utOP.jpg");
37 | background-size: cover;
38 | background-position: center;
39 | background-repeat: no-repeat;
40 | filter: grayscale(0.6) ;
41 | border-radius: 20px;
42 | box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 0px;
43 | overflow: hidden;
44 | }
45 |
46 | .top h1{
47 | position: absolute;
48 | font-weight: 900;
49 | font-size: 35px;
50 | text-transform: uppercase;
51 | letter-spacing: 0.1em;
52 | left: 3%;
53 | color: #fff;
54 | opacity: 0.6;
55 | pointer-events: none;
56 | }
57 |
58 | .bottom{
59 | width: 100%;
60 | height: 100%;
61 | flex-basis: 65%;
62 | display: flex;
63 | justify-content: center;
64 | align-items: center;
65 | flex-direction: column;
66 | border-radius: 20px;
67 | padding: 20px;
68 | }
69 |
70 | .bottom img{
71 | width: 150px;
72 | height: 150px;
73 | border-radius: 50%;
74 | margin-top: -110px;
75 | z-index: 122;
76 | border: 2px solid white;
77 | box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
78 | cursor: pointer;
79 | }
80 |
81 | .bottom h1{
82 | margin-top: 20px;
83 | font-size: 30px;
84 | font-weight: 800;
85 | text-transform: uppercase;
86 | line-height: 0.9;
87 | letter-spacing: 0.1em;
88 | text-shadow: 2px 2px 3px rgba(87, 87, 87, 1);
89 | }
90 | .bottom h2{
91 | font-size: 22px;
92 | font-weight: 500;
93 |
94 | }
95 |
96 | .bottom h2{
97 | font-size: 18px;
98 | font-weight: 300;
99 | text-align: center;
100 | }
101 |
102 | .stats{
103 | display: flex;
104 | justify-content: center;
105 | align-items: center;
106 | gap: 150px;
107 | }
108 |
109 | .stats span{
110 | font-size: 25px;
111 | font-weight: 600;
112 | }
113 |
114 | .values{
115 | display: flex;
116 | justify-content: center;
117 | align-items: center;
118 | gap: 120px;
119 | }
120 |
121 | .values span{
122 | font-size: 22px;
123 | font-weight: 300;
124 | line-height: 1;
125 | text-transform: uppercase;
126 | }
127 |
128 | .btn{
129 | margin: 20px 0;
130 | padding: 10px 120px;
131 | border: 3px solid #183a37;
132 | background-color: #183a37;
133 | text-align: center;
134 | font-size: 18px;
135 | font-weight: 600;
136 | border-radius: 25px;
137 | text-decoration: none;
138 | color: #faf3dd;
139 | letter-spacing: 0.1em;
140 | text-transform: uppercase;
141 | transition: 0.4s;
142 | }
143 |
144 | .btn:hover{
145 | background-color: #faf3dd;
146 | color: #183a37;
147 | }
148 |
--------------------------------------------------------------------------------
/Facebook Emoji's Reaction/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Facebook Emojies Reaction!
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Press space and after tab key to navigation
14 |
Like
15 |
16 |
17 |
Like
18 |
Love
19 |
Haha
20 |
Wow
21 |
Sad
22 |
Angry
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Flower Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Loading animation | untoldcoding
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/Fruit Product Card Design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Apple Card Design
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Green Apples
17 |
BHARAT (kashmir)
18 |
RS 100
19 |
Select the Color
20 |
29 |
BENEFITS
30 |
31 | Boosts Heart Health.
32 | May Support Weight Management.
33 | Decreases the Risk of Cancer.
34 | Could be good for your heart.
35 |
36 |
Add to Cart
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Fruit Product Card Design/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 | .container{
11 | width: 100vw;
12 | height: 100vh;
13 | display: flex;
14 | justify-content: center;
15 | align-items: center;
16 | background-color: #386641;
17 | }
18 |
19 | .card{
20 | position: relative;
21 | width: 60%;
22 | height: 80%;
23 | margin: auto;
24 | background-color: #fff;
25 | }
26 |
27 | .image{
28 | position: absolute;
29 | top: 10.5%;
30 | left: -60px;
31 | width: 400px;
32 | height: 450px;
33 | background-color: #6a994e;
34 | box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px,
35 | rgba(0, 0, 0, 0.22) 0px 10px 10px;
36 | border-radius: 25px;
37 | }
38 |
39 | .image img{
40 | position: absolute;
41 | top: 20px;
42 | left: -50px;
43 | width: 100%;
44 | height: auto;
45 | }
46 |
47 | .content{
48 | position: absolute;
49 | left: 43%;
50 | top: 20px;
51 | }
52 |
53 | .content h1{
54 | color: #000;
55 | font-size: 45px;
56 | font-weight: 900;
57 | text-transform: uppercase;
58 | letter-spacing: 0.05em;
59 | }
60 |
61 | .content h4{
62 | color: #333;
63 | line-height: 0.7;
64 | font-weight: 500;
65 | }
66 |
67 | .content p{
68 | margin-top: 10px;
69 | color: #e63946;
70 | font-size: 30px;
71 | }
72 |
73 | .content p span{
74 | font-size: 55px;
75 | font-weight: 600;
76 | }
77 |
78 | .content h3{
79 | margin-top: 20px;
80 | font-size:18px;
81 | color: #777;
82 | text-transform: uppercase;
83 | letter-spacing: 0.1em;
84 | font-weight: 500;
85 | }
86 |
87 | .apples{
88 | margin: 10px 0;
89 | display: flex;
90 | justify-content: start;
91 | align-items: center;
92 | gap: 30px;
93 | }
94 |
95 | .apples img{
96 | padding: 5px;
97 | width: 50px;
98 | border: 2px solid #202020;
99 | border-radius: 15px;
100 | }
101 |
102 | ul{
103 | margin-bottom: 30px;
104 | }
105 |
106 | .btn{
107 | text-decoration: none;
108 | color: #fff;
109 | background-color: #e63946;
110 | padding: 15px 40px;
111 | transition: 0.4s;
112 | }
113 |
114 | .btn:hover{
115 | border: 2px solid #e63946;
116 | background-color: #fff;
117 | color: #e63946;
118 | }
119 |
--------------------------------------------------------------------------------
/Glassmorphism camera website landing page/1 (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rutuja927/HTML-CSS-JAVASCRIPT-PROJECTS/386dfa59397a4d79fb89ac3929a76c366a68defb/Glassmorphism camera website landing page/1 (1).png
--------------------------------------------------------------------------------
/Glassmorphism camera website landing page/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Document
8 |
9 |
10 |
11 |
12 |
13 |
31 |
32 |
33 |
34 |
35 |
36 |
Model 2022
37 |
38 |
39 |
40 |
41 |
The Best Camera for Creative in 2019
42 | It's Coming
43 |
44 |
45 |
46 |
47 |
48 |
Make Sure You Did a Preorder
49 | Next Week
50 |
51 |
52 |
53 |
Model 2024
54 |
55 |
56 |
Preorder
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/Glowing Heart Animations/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Glowing Heart Animation
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Glowing Heart Animations/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #000;
3 | margin: 0;
4 | overflow: hidden;
5 | background-repeat: no-repeat;
6 | }
7 |
--------------------------------------------------------------------------------
/Glowing Name/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
glowing
10 |
11 |
12 |
13 | R
14 | U
15 | T
16 | U
17 | J
18 | A
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Glowing Name/style.css:
--------------------------------------------------------------------------------
1 |
2 |
3 | *{
4 | margin:0;
5 | padding: 0%;
6 | box-sizing: border-box;
7 | }
8 |
9 | body{
10 | font-family: Arial, Helvetica, sans-serif;
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | height: 100vh;
15 | background: #000;
16 | }
17 |
18 | h1{
19 | margin: 0%;
20 | padding: 0%;
21 | color: #111;
22 | font-size: 12em;
23 | }
24 |
25 | h1 span{
26 | display: table-cell;
27 | margin: 20px;
28 | padding: 2rem;
29 | animation: animate 3s ease infinite;
30 | }
31 |
32 |
33 |
34 | h1 span:nth-child(1)
35 | {
36 | animation-delay: 0s;
37 | }
38 | h1 span:nth-child(2)
39 | {
40 | animation-delay: 0.3s;
41 | }
42 | h1 span:nth-child(3)
43 | {
44 | animation-delay: 0.6s;
45 | }
46 | h1 span:nth-child(4)
47 | {
48 | animation-delay: 0.9s;
49 | }
50 | h1 span:nth-child(5)
51 | {
52 | animation-delay: 1.2s;
53 | }
54 | h1 span:nth-child(6)
55 | {
56 | animation-delay: 1.6s;
57 | }
58 |
59 |
60 | @keyframes animate{
61 | 0%,100%{
62 | color: #fff;
63 | filter: blur(2px);
64 | text-shadow: 0 0 10px #ff9d00,
65 | 0 0 20px #ff9d00,
66 | 0 0 400px #ff9d00,
67 | 0 0 80px #ff9d00,
68 | 0 0 120px #ff9d00,
69 | 0 0 200px #ff9d00,
70 | 0 0 300px #ff9d00,
71 | 0 0 400px #ff9d00;
72 | }
73 |
74 | 5%,95%{
75 | color: #111;
76 | filter: blur(0px);
77 | text-shadow: none;
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/Guess number game/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
CodePen - Guess the number
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Guess the Number
15 |
Whats your guess between 1 and 100?
16 | You have 7 guesses.
17 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Guess number game/script.js:
--------------------------------------------------------------------------------
1 | var correctGuess = 0;
2 | var guessesTaken = 0;
3 | var maxGuesses = 7;
4 | var gameDone = 0;
5 |
6 | var newGame = function() {
7 | var lbl = document.getElementById('inputLabel');
8 | lbl.innerHTML = " ";
9 | guessesTaken = 0;
10 | correctGuess = Math.floor((Math.random() * 100)+1);
11 | };
12 |
13 | newGame();
14 |
15 | var btnReset = document.getElementById('btnReset');
16 | btnReset.onclick = newGame;
17 |
18 | var response = function(txtGuess) {
19 | var answer;
20 |
21 | while (guessesTaken < maxGuesses && gameDone == 0) {
22 | if (txtGuess == correctGuess) {
23 | answer = "Correct! ";
24 | } else if (txtGuess < correctGuess && txtGuess > 0) {
25 | answer = "Higher, ";
26 | } else if (txtGuess > correctGuess && txtGuess < 101) {
27 | answer = "Lower, ";
28 | } else {
29 | answer = "Enter a number, ";
30 | return answer; /*exit loop to prevent increasing guessesTaken*/
31 | }
32 |
33 | guessesTaken += 1;
34 | return answer;
35 | }
36 |
37 | return "New game?";
38 | };
39 |
40 | var btnSubmit = document.getElementById('btnSubmit');
41 | btnSubmit.onclick = function(e) {
42 | var txtGuess = document.getElementById('guess').value;
43 | var answer = response(txtGuess);
44 | var remainingMessage = (maxGuesses - guessesTaken).toString() + " guess(es) remain";
45 | var lbl = document.getElementById('inputLabel');
46 | if (gameDone == 0) {
47 | if (answer == "Correct! ") {
48 | lbl.innerHTML += answer + "
Play again
";
49 | gameDone = 1;
50 | } else if (guessesTaken == maxGuesses) {
51 | lbl.innerHTML += "
You lost. New game?
";
52 | gameDone = 1;
53 | } else {
54 | lbl.innerHTML += "
" + txtGuess + " " + answer + remainingMessage + "
";
55 | }
56 | }
57 | var txtGuess = document.getElementById('guess');
58 | txtGuess.value = null;
59 | return false;
60 | };
61 |
--------------------------------------------------------------------------------
/Guess number game/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 | body {
11 | background: #247b7b;
12 | width: 100vw;
13 | height: 100vh;
14 | display: flex;
15 | justify-content: center;
16 | align-items: center;
17 | }
18 |
19 | #game {
20 | width: 450px;
21 | height: 600px;
22 | margin: auto;
23 | padding: 20px;
24 | border-radius: 36px;
25 | background: #247b7b;
26 | box-shadow: inset 8px 8px 16px #1c6060,
27 | inset -8px -8px 16px #2c9696;
28 | }
29 |
30 | h1 {
31 | font-size: 35px;
32 | text-align: center;
33 | text-transform: uppercase;
34 | font-weight: 900;
35 | letter-spacing: 0.05em;
36 | color: #093f44;
37 | margin-bottom: 30px;
38 | text-shadow: 0px 2px 1px rgba(255, 255, 250, 1);
39 | }
40 |
41 | p{
42 | font-size: 20px;
43 | text-align: left;
44 | font-weight: 600;
45 | color: #fffffa;
46 | margin-bottom: 30px;
47 | }
48 |
49 | form{
50 | display: flex;
51 | justify-content: center;
52 | align-items: center;
53 | flex-direction: column;
54 | }
55 |
56 | input{
57 | padding: 0 30px;
58 | width: 70%;
59 | height: 40px;
60 | margin-bottom: 30px;
61 | border-radius: 15px;
62 | border: none;
63 | outline: none;
64 | box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px,
65 | rgba(0, 0, 0, 0.23) 0px 3px 6px;
66 | }
67 |
68 | input:focus-within{
69 | font-size: 18px;
70 | font-weight: 500;
71 | color: #093f44;
72 | }
73 |
74 | #canvas-container {
75 | background-color: grey;
76 | }
77 |
78 |
79 | #btnSubmit{
80 | padding: 8px 20px;
81 | font-size: 18px;
82 | cursor: pointer;
83 | letter-spacing: 0.1em;
84 | font-weight: 600;
85 | background: #093f44;
86 | outline: none;
87 | border: none;
88 | text-align: center;
89 | color: #fffffa;
90 | text-transform: uppercase;
91 | margin-right: 30px;
92 | }
93 |
94 | #btnReset{
95 | padding: 8px 20px;
96 | font-size: 18px;
97 | cursor: pointer;
98 | letter-spacing: 0.1em;
99 | font-weight: 600;
100 | background: #fffffa;
101 | outline: none;
102 | border: none;
103 | text-align: center;
104 | color: #093f44;
105 | text-transform: uppercase;
106 | }
107 |
108 | #response {
109 | padding-right: 10px;
110 | }
111 |
112 | #game, #inputLabel {
113 | /* height: 100%; */
114 | min-height: 250px;
115 | }
116 |
--------------------------------------------------------------------------------
/Happy Holi/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Document
7 |
8 |
9 |
10 |
11 |
Happy Holi
12 |
( CLICK ON BLANK SPACES TO CHANGE FLUID COLOR )
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Happy Holi/style.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | overflow: hidden;
3 | padding:50px;
4 | color:#eae3e3;
5 | }
6 |
7 | body {
8 | background: url(http://www.nhembram.com/images/happy_holi.jpg) no-repeat center center fixed;
9 | -webkit-background-size: cover;
10 | -moz-background-size: cover;
11 | -o-background-size: cover;
12 | background-size: cover;
13 | }
14 |
15 | canvas {
16 | position: fixed;
17 | top:0;
18 | left:0;
19 | width:100%;
20 | height:100%;
21 | z-index:0.5;
22 | opacity:1;
23 | }
24 | div{
25 | position:relative;
26 | z-index:1;
27 | font-size:70px;
28 | padding:0;
29 | display: table;
30 | margin:auto;
31 | letter-spacing:2px;
32 | font-family: 'Great Vibes', cursive;
33 | }
34 | P{
35 | display: table;
36 | margin:20px auto;
37 | font-family:Arial, Helvetica, sans-serif;
38 | text-align:center;
39 | font-size:8px;
40 | letter-spacing:2px;
41 | position:absolute;
42 | bottom:10px;
43 | left:50%;
44 | z-index:1;
45 | -webit-transform:translateX(-50%);
46 | -moz-transform:translateX(-50%);
47 | transform:translateX(-50%);
48 | }
49 |
--------------------------------------------------------------------------------
/Haunted Manor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Haunted Manor
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Hide Social Media Icons/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Document
9 |
10 |
11 |
12 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Hide Social Media Icons/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | background: #3d405bd7;
3 | color: #fff;
4 | font-family: 'Raleway', sans-serif;
5 | }
6 |
7 | a {
8 | color: #fff;
9 | text-decoration: none;
10 | }
11 | .me {
12 | width: 400px;
13 | margin: 90px auto;
14 | }
15 | .me p,
16 | .me h1 {
17 | letter-spacing: 3px;
18 | text-align: center;
19 | }
20 | .me p {
21 | font-weight: 200;
22 | }
23 | .me span {
24 | font-weight: bold;
25 | }
26 | .social {
27 | position: fixed;
28 | top: 30%;
29 | left: 15px;
30 | }
31 | .social ul {
32 | padding: 0px;
33 | transform: translate(-270px, 0);
34 | }
35 | .social ul li {
36 | display: block;
37 | margin: 5px;
38 | background: rgba(0, 0, 0, 0.36);
39 | width: 300px;
40 | text-align: right;
41 | padding: 10px;
42 | border-radius: 0 30px 30px 0;
43 | transition: all 1s;
44 | }
45 | .social ul li:hover {
46 | transform: translate(110px, 0);
47 | background: rgba(255, 255, 255, 0.4);
48 | }
49 | .social ul li:hover a {
50 | color: #fff;
51 | font-weight: 500;
52 | letter-spacing: 0.1em;
53 | font-size: 18px;
54 | }
55 | .social ul li:hover i {
56 | background: #fff;
57 | transform: rotate(360deg);
58 | transition: all 1s;
59 | }
60 |
61 | .social ul li:hover .fa-instagram{
62 | color:#E1306C;
63 | }
64 | .social ul li:hover .fa-github{
65 | color:#6e5494;
66 | }
67 | .social ul li:hover .fa-telegram{
68 | color:#229ED9;
69 | }
70 | .social ul li:hover .fa-twitter{
71 | color:#1DA1F2;
72 | }
73 | .social ul li:hover .fa-linkedin-in{
74 | color:#0077b5;
75 | }
76 |
77 |
78 | .social ul li i {
79 | margin-left: 10px;
80 | color: #fff;
81 | background: #000;
82 | padding: 10px;
83 | border-radius: 50%;
84 | width: 30px;
85 | height: 30px;
86 | font-size: 30px;
87 | transform: rotate(0deg);
88 | }
89 |
90 |
91 |
--------------------------------------------------------------------------------
/Icons hover effects/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Document
9 |
10 |
11 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Icons hover effects/style.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | :root{
8 | --bg:#222;
9 | }
10 |
11 | body{
12 | display: flex;
13 | justify-content: center;
14 | align-items: center;
15 | min-height: 100vh;
16 | background: var(--bg);
17 | }
18 |
19 | ul{
20 | position: relative;
21 | display: flex;
22 | gap: 50px;
23 | }
24 |
25 | ul li{
26 | position: relative;
27 | list-style: none;
28 | width: 80px;
29 | height: 80px;
30 | display: flex;
31 | justify-content: center;
32 | align-items: center;
33 | cursor: pointer;
34 | transition: 0.5s;
35 | }
36 |
37 | ul li::before{
38 | content: '';
39 | position: absolute;
40 | inset: 30px;
41 | box-shadow: 0 0 0 10px var(--clr),
42 | 0 0 0 20px var(--bg),
43 | 0 0 0 22px var(--clr);
44 | transition: 0.5s;
45 | }
46 |
47 | ul li:hover::before{
48 | inset: 15px;
49 | }
50 |
51 | ul li::after{
52 | content: '';
53 | position: absolute;
54 | inset: 0;
55 | background: var(--bg);
56 | transform: rotate(45deg);
57 | transition: 0.5s;
58 | }
59 |
60 | ul li:hover::after{
61 | inset: 0px;
62 | transform: rotate(0deg);
63 | }
64 |
65 | ul li a{
66 | position: relative;
67 | text-decoration: none;
68 | z-index: 10;
69 | display: flex;
70 | justify-content: center;
71 | align-items: center;
72 | }
73 |
74 | ul li a i{
75 | font-size: 2em;
76 | transition: 0.5s;
77 | color: var(--clr);
78 | /* opacity: 0; */
79 | transition: 0.5s;
80 | }
81 |
82 | ul li:hover a i{
83 | color: var(--clr);
84 | transform: translateY(-40%);
85 | }
86 |
87 | ul li a span{
88 | position: absolute;
89 | font-family: 'consolas';
90 | color: var(--clr);
91 | opacity: 0;
92 | transition: 0.5s;
93 | transform: scale(0) translateY(200%);
94 | }
95 |
96 | ul li:hover a span{
97 | opacity: 1;
98 | transform: scale(1) translateY(100%);
99 | }
100 |
101 | ul li:hover a i,
102 | ul li:hover a span{
103 | filter: drop-shadow(0 0 10px var(--clr))
104 | drop-shadow(0 0 20px var(--clr))
105 | drop-shadow(0 0 30px var(--clr));
106 | }
107 |
--------------------------------------------------------------------------------
/Image Effect Hover on Name/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Image Effect on Hover Name
8 |
9 |
10 |
11 |
12 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Image Effect Hover on Name/script.js:
--------------------------------------------------------------------------------
1 | console.clear();
2 | const elApp = document.querySelector("#app");
3 |
4 | document.body.addEventListener("mousemove", (event) => {
5 | console.log({
6 | x: event.clientX,
7 | y: event.clientY
8 | });
9 |
10 | elApp.style.setProperty("--x", event.clientX);
11 | elApp.style.setProperty("--y", event.clientY);
12 | });
13 |
14 | let el = document.body;
15 | el.addEventListener("click", function (e) {
16 | el.hidden = true;
17 | requestAnimationFrame(() => {
18 | el.hidden = false;
19 | });
20 | });
21 |
--------------------------------------------------------------------------------
/Image Effect Hover on Name/style.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap");
2 |
3 | *,
4 | *::before,
5 | *::after {
6 | box-sizing: border-box;
7 | position: relative;
8 | }
9 |
10 | html,
11 | body,
12 | #app {
13 | height: 100%;
14 | width: 100%;
15 | margin: 0;
16 | padding: 0;
17 | }
18 |
19 | .main-nav {
20 | display: flex;
21 | flex-direction: column;
22 | justify-content: center;
23 | height: 90vh;
24 | padding: 2vh 1vw;
25 | }
26 |
27 | html {
28 | background: #060706;
29 | color: #fff;
30 | overflow: hidden;
31 | --easing: cubic-bezier(0.5, 0.5, 0.2, 1);
32 | }
33 |
34 | .image-hover {
35 | display: block;
36 | color: white;
37 | text-decoration: none;
38 | text-align: center;
39 | padding: 2vh 0;
40 | transform-origin: top left;
41 | animation: skwoop 0.7s var(--easing) backwards;
42 | animation-duration: calc(0.6s + (var(--i) * 0.1s));
43 | animation-delay: calc((var(--i) * 50ms));
44 | cursor: pointer;
45 |
46 | @keyframes skwoop {
47 | from {
48 | opacity: 0;
49 | transform: translateY(5vh) skewY(5deg);
50 | }
51 | }
52 |
53 | .title {
54 | font-family: "Roboto";
55 | font-weight: 900;
56 | font-size: 9vh;
57 | letter-spacing: 0.1ch;
58 |
59 | &::after {
60 | content: attr(data-title);
61 | position: absolute;
62 | top: 0;
63 | left: 0;
64 | z-index: 5;
65 | color: transparent;
66 | -webkit-text-stroke: 2px #fff;
67 | }
68 | }
69 |
70 | > img {
71 | position: fixed;
72 | top: 50%;
73 | left: 50%;
74 | transform: translate(-50%, -50%);
75 | object-fit: cover;
76 | width: 300px;
77 | height: 500px;
78 | pointer-events: none;
79 | z-index: 2;
80 | visibility: hidden;
81 | opacity: 0;
82 | transition: opacity 0.2s linear, visibility 0s linear 0.2s;
83 | }
84 |
85 | &:hover,
86 | &:focus {
87 | z-index: 10;
88 | .title::after {
89 | display: block;
90 | }
91 | > img {
92 | transition-delay: 0s;
93 | visibility: visible;
94 | opacity: 1;
95 | }
96 | }
97 | }
98 |
99 | #app{
100 | margin-top: 150px;
101 | }
102 |
103 | #app span{
104 | font-size: 50px;
105 | }
106 | .image-hover > img {
107 | --x-px: calc(var(--x) * 1px);
108 | --y-px: calc(var(--y) * 1px);
109 | top: 0;
110 | left: 0;
111 | transform: translate(var(--x-px),
112 | var(--y-px)) translate(-50%, -50%);
113 | }
114 |
115 |
116 |
--------------------------------------------------------------------------------
/Images Carousel/app.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin: 0;
3 | padding: 0;
4 | border: 0;
5 | font-size: 100%;
6 | font: inherit;
7 | vertical-align: baseline;
8 | }
9 | /* HTML5 display-role reset for older browsers */
10 | article,
11 | aside,
12 | details,
13 | figcaption,
14 | figure,
15 | footer,
16 | header,
17 | hgroup,
18 | menu,
19 | nav,
20 | section {
21 | display: block;
22 | }
23 | body {
24 | line-height: 1;
25 | }
26 | ol,
27 | ul {
28 | list-style: none;
29 | }
30 | blockquote,
31 | q {
32 | quotes: none;
33 | }
34 | blockquote:before,
35 | blockquote:after,
36 | q:before,
37 | q:after {
38 | content: "";
39 | content: none;
40 | }
41 | table {
42 | border-collapse: collapse;
43 | border-spacing: 0;
44 | }
45 |
--------------------------------------------------------------------------------
/Images Carousel/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Slick Slider
8 |
9 |
13 |
18 |
22 |
23 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
40 |
41 |
Game Of Thrones
42 |
43 |
44 |
45 |
49 |
50 |
Stranger Things
51 |
52 |
53 |
54 |
55 |
56 |
60 |
61 |
Money heist
62 |
63 |
64 |
65 |
69 |
70 |
13 Reasons Why
71 |
72 |
73 |
74 |
78 |
79 |
The 100
80 |
81 |
82 |
86 |
90 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/Images Carousel/script.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | $(document).ready(function () {
4 | $(".image-slider").slick({
5 | slidesToShow: 4,
6 | slidesToScroll: 1,
7 | infinite: true,
8 | arrows: true,
9 | draggable: false,
10 | prevArrow: `
`,
11 | nextArrow: `
`,
12 | dots: true,
13 | responsive: [
14 | {
15 | breakpoint: 1025,
16 | settings: {
17 | slidesToShow: 3,
18 | },
19 | },
20 | {
21 | breakpoint: 480,
22 | settings: {
23 | slidesToShow: 1,
24 | arrows: false,
25 | infinite: false,
26 | },
27 | },
28 | ],
29 | // autoplay: true,
30 | // autoplaySpeed: 1000,
31 | });
32 | });
33 |
--------------------------------------------------------------------------------
/Images Carousel/style.css:
--------------------------------------------------------------------------------
1 | *,
2 | *:before,
3 | *:after {
4 | box-sizing: border-box;
5 | margin: 0;
6 | padding: 0;
7 | }
8 | a {
9 | text-decoration: none;
10 | }
11 | img {
12 | display: block;
13 | max-width: 100%;
14 | }
15 | body,
16 | input,
17 | button,
18 | textarea,
19 | select {
20 | outline: none;
21 | font-size: 12px;
22 | line-height: 1.5;
23 | font-family: "Poppins", sans-serif;
24 | }
25 | input {
26 | line-height: normal;
27 | }
28 | button {
29 | cursor: pointer;
30 | }
31 | body {
32 | padding: 50px 20px;
33 | }
34 | .image-slider {
35 | padding-bottom: 50px;
36 | }
37 | .image {
38 | height: 500px;
39 | margin-bottom: 20px;
40 | }
41 | .image img {
42 | width: 100%;
43 | height: 100%;
44 | object-fit: cover;
45 | border-radius: 12px;
46 | }
47 | .image-title {
48 | font-size: 20px;
49 | color: #8e8fb5;
50 | }
51 | .slick-initialized .slick-slide {
52 | margin: 0 10px;
53 | }
54 | .slick-arrow {
55 | position: absolute;
56 | top: 50%;
57 | transform: translateY(-50%);
58 | border: none;
59 | width: 50px;
60 | height: 50px;
61 | display: flex;
62 | justify-content: center;
63 | align-items: center;
64 | font-size: 20px;
65 | line-height: 1;
66 | z-index: 5;
67 | transition: all 0.2s linear;
68 | }
69 | .slick-arrow:hover {
70 | background-color: #2cccff;
71 | color: white;
72 | }
73 | .slick-prev {
74 | left: 0;
75 | }
76 | .slick-next {
77 | right: 0;
78 | }
79 |
80 |
81 | .slick-dots {
82 | position: absolute;
83 | bottom: 0;
84 | left: 50%;
85 | transform: translate(-50%, 0);
86 | display: flex !important;
87 | align-items: center;
88 | justify-content: center;
89 | gap: 0 20px;
90 | }
91 | .slick-dots button {
92 | font-size: 0;
93 | width: 15px;
94 | height: 15px;
95 | border-radius: 100rem;
96 | background-color: #eee;
97 | border: none;
98 | outline: none;
99 | transition: all 0.2s linear;
100 | }
101 |
102 |
103 |
104 | .slick-dots .slick-active button {
105 | background-color: #2cccff;
106 | }
107 |
--------------------------------------------------------------------------------
/Images slider/script.js:
--------------------------------------------------------------------------------
1 | //step 1: get DOM
2 | let nextDom = document.getElementById('next');
3 | let prevDom = document.getElementById('prev');
4 |
5 | let carouselDom = document.querySelector('.carousel');
6 | let SliderDom = carouselDom.querySelector('.carousel .list');
7 | let thumbnailBorderDom = document.querySelector('.carousel .thumbnail');
8 | let thumbnailItemsDom = thumbnailBorderDom.querySelectorAll('.item');
9 | let timeDom = document.querySelector('.carousel .time');
10 |
11 | thumbnailBorderDom.appendChild(thumbnailItemsDom[0]);
12 | let timeRunning = 2000;
13 | let timeAutoNext = 7000;
14 |
15 | nextDom.onclick = function(){
16 | showSlider('next');
17 | }
18 |
19 | prevDom.onclick = function(){
20 | showSlider('prev');
21 | }
22 | let runTimeOut;
23 | let runNextAuto = setTimeout(() => {
24 | next.click();
25 | }, timeAutoNext)
26 | function showSlider(type){
27 | let SliderItemsDom = SliderDom.querySelectorAll('.carousel .list .item');
28 | let thumbnailItemsDom = document.querySelectorAll('.carousel .thumbnail .item');
29 |
30 | if(type === 'next'){
31 | SliderDom.appendChild(SliderItemsDom[0]);
32 | thumbnailBorderDom.appendChild(thumbnailItemsDom[0]);
33 | carouselDom.classList.add('next');
34 | }else{
35 | SliderDom.prepend(SliderItemsDom[SliderItemsDom.length - 1]);
36 | thumbnailBorderDom.prepend(thumbnailItemsDom[thumbnailItemsDom.length - 1]);
37 | carouselDom.classList.add('prev');
38 | }
39 | clearTimeout(runTimeOut);
40 | runTimeOut = setTimeout(() => {
41 | carouselDom.classList.remove('next');
42 | carouselDom.classList.remove('prev');
43 | }, timeRunning);
44 |
45 | clearTimeout(runNextAuto);
46 | runNextAuto = setTimeout(() => {
47 | next.click();
48 | }, timeAutoNext)
49 | }
50 |
--------------------------------------------------------------------------------
/Input Form Designs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Form input Design
8 |
9 |
10 |
11 |
12 |
13 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Input Form Designs/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 |
11 |
12 | .container{
13 | display: flex;
14 | justify-content: center;
15 | align-items: center;
16 | min-height: 100vh;
17 | flex-direction: column;
18 | gap: 30px;
19 | background-color: #25252b;
20 | }
21 |
22 | .box{
23 | position: relative;
24 | width: 250px;
25 | }
26 |
27 | .box input{
28 | width: 100%;
29 | padding: 10px;
30 | border: 1px solid #ffffff40;
31 | background-color: #25252b;
32 | border-radius: 5px;
33 | outline: none;
34 | color: #fff;
35 | font-size: 1em;
36 | }
37 |
38 | .box span{
39 | position: absolute;
40 | left: 0;
41 | padding: 10px;
42 | pointer-events: none;
43 | font-size: 1em;
44 | color: rgba(255, 255, 255, 0.25);
45 | text-transform: uppercase;
46 | font-weight: 500;
47 | letter-spacing: 0.2em;
48 | transition: 0.5s;
49 | }
50 |
51 | .box input:valid ~ span,
52 | .box input:focus ~ span{
53 | color: green;
54 | transform: translateX(10px) translateY(-7px);
55 | font-size: 0.65em;
56 | padding: 0 10px;
57 | background-color: #25252b;
58 | border-left: 1px solid green;
59 | border-right: 1px solid green;
60 | }
61 |
62 | .box:nth-child(2) input:valid ~ span,
63 | .box:nth-child(2) input:focus ~ span{
64 | color: #25252b;
65 | background-color: green;
66 | border-radius: 5px;
67 | }
68 |
69 | .box:nth-child(3) input:valid ~ span,
70 | .box:nth-child(3) input:focus ~ span{
71 | border: 1px solid green;
72 | border-radius: 5px;
73 | }
74 |
75 | .box:nth-child(4) input:valid ~ span,
76 | .box:nth-child(4) input:focus ~ span{
77 | border-top: 1px solid green;
78 | border-bottom: 1px solid green;
79 | border-left: none;
80 | border-right: none;
81 | }
82 |
83 | .box:nth-child(5) input:valid ~ span,
84 | .box:nth-child(5) input:focus ~ span{
85 | border: 1px solid green;
86 | width: 80%;
87 | text-align: center;
88 | }
89 |
90 | .box input:valid,
91 | .box input:focus{
92 | border: 1px solid green;
93 | }
94 |
--------------------------------------------------------------------------------
/Leaping Triangle Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Leaping Triangles Loader
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Leaping Triangle Animation/style.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --c: #ffa500;
3 | }
4 |
5 | body {
6 | margin: 0;
7 | padding: 0;
8 | width: 100vw;
9 | height: 100vh;
10 | overflow: hidden;
11 | display: flex;
12 | align-items: center;
13 | justify-content: center;
14 | background: radial-gradient(circle at 50% 50%, #252525, #010101);
15 | }
16 |
17 |
18 | .loader {
19 | width: 15vmin;
20 | height: 15vmin;
21 | position: relative;
22 | display: flex;
23 | align-items: center;
24 | justify-content: center;
25 | background: conic-gradient(from 150deg at 50% 14%, var(--c) 0 60deg, #fff0 0 100%);
26 | filter:
27 | drop-shadow(0.2vmin 0.2vmin 0vmin #bf7200) drop-shadow(0.2vmin 0.2vmin 0vmin #ab6701)
28 | drop-shadow(0.2vmin 0.2vmin 0vmin #9c5e01) drop-shadow(0.2vmin 0.2vmin 0vmin #8d5502)
29 | drop-shadow(0.4vmin 0.2vmin 0vmin #744602) drop-shadow(0.4vmin 0.2vmin 0vmin #5f3900)
30 | drop-shadow(0.4vmin 0.2vmin 0vmin #4d2e00) drop-shadow(0.4vmin 0.2vmin 0vmin #382200)
31 | drop-shadow(4vmin 3vmin 1vmin #0008);
32 | }
33 |
34 | .loader span {
35 | width: 100%;
36 | height: 100%;
37 | position: absolute;
38 | transform-origin: 100% 100%;
39 | transform: rotate(60deg);
40 | animation: spin 1.5s ease-in-out -1.245s infinite;
41 | background: conic-gradient(from 150deg at 50% 14%, var(--c) 0 60deg, #fff0 0 100%);
42 | }
43 |
44 | .loader span + span {
45 | transform-origin: 0% 100%;
46 | }
47 |
48 | .loader span + span + span {
49 | transform-origin: 50% 14%;
50 | }
51 |
52 | @keyframes spin {
53 | 100% { transform: rotate(300deg); }
54 | }
55 |
--------------------------------------------------------------------------------
/Lighting Text Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Lighting Text Animation
9 |
10 |
11 |
12 | C
13 | O
14 | D
15 | E
16 |
17 | R
18 | U
19 | T
20 | U
21 | _09
22 |
23 | W
24 | I
25 | T
26 | H
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Lighting Text Animation/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
2 |
3 | *{
4 | margin:0;
5 | padding: 0%;
6 | box-sizing: border-box;
7 | font-family: 'Bebas Neue', sans-serif;
8 | }
9 |
10 | body{
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | height: 100vh;
15 | background: #000;
16 | }
17 |
18 | h1{
19 | margin: 0%;
20 | padding: 0%;
21 | color: #111;
22 | font-size: 14em;
23 | }
24 |
25 | h1 span{
26 | font-size: 80px;
27 | display: table-cell;
28 | margin: 10px;
29 | padding: 1.5rem;
30 | animation: animate 2s ease infinite;
31 | }
32 |
33 | h1 span:nth-child(6)
34 | {
35 | animation-delay: 0.4s;
36 | }
37 | h1 span:nth-child(7)
38 | {
39 | animation-delay: 0.4s;
40 | }
41 | h1 span:nth-child(8)
42 | {
43 | animation-delay: 0.4s;
44 | }
45 | h1 span:nth-child(9)
46 | {
47 | animation-delay: 0.4s;
48 | }
49 | h1 span:nth-child(10)
50 | {
51 | animation-delay: 0.4s;
52 | }
53 |
54 |
55 | @keyframes animate{
56 |
57 | 0%,100%{
58 | color: #fff;
59 | filter: blur(2px);
60 | text-shadow: 0 0 10px #fff,
61 | 0 0 20px #fff,
62 | 0 0 40px #fff;
63 | }
64 |
65 | 5%,95%{
66 | color: #111;
67 | filter: blur(0px);
68 | text-shadow: none;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/Linear Gredient Rotating Card Design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Document
8 |
9 |
10 |
11 |
12 |
13 |
14 |
16 |
17 |
Pikachu
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Linear Gredient Rotating Card Design/style.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | .container{
8 | position: relative;
9 | width: 100%;
10 | height: 100vh;
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | background: #3b3b3c;
15 | }
16 |
17 | .card{
18 | position: absolute;
19 | display: flex;
20 | justify-content: center;
21 | align-items: center;
22 | width: 250px;
23 | height: 250px;
24 | background: linear-gradient(90deg, rgba(255,0,0,1) 0%,
25 | rgba(232,255,0,1) 25%, rgba(0,255,25,1) 50%,
26 | rgba(0,65,255,1) 75%, rgba(248,0,255,1) 100%);
27 | border-radius: 50%;
28 | animation: rotate 5s linear infinite;
29 | }
30 |
31 | @keyframes rotate{
32 | 0%{
33 | transform: rotate(0deg);
34 | }
35 | 100%{
36 | transform: rotate(360deg);
37 | }
38 | }
39 |
40 | .image{
41 | position: absolute;
42 | display: flex;
43 | justify-content: center;
44 | align-items: center;
45 | width: 235px;
46 | height: 235px;
47 | background-color: #25252b;
48 | border-radius: 50%;
49 | overflow: hidden;
50 | padding: 1rem;
51 | animation: none;
52 | border: 2px solid white;
53 | }
54 |
55 | .image img{
56 | width: 120%;
57 | height: 120%;
58 | object-fit: cover;
59 | overflow: hidden;
60 | filter: grayscale(0.5);
61 | }
62 |
63 | h1{
64 | position: absolute;
65 | top: 69%;
66 | text-transform: uppercase;
67 | font-family: Arial, Helvetica, sans-serif;
68 | color: #f5f5f5;
69 | letter-spacing: 0.05em;
70 | }
71 |
--------------------------------------------------------------------------------
/Loading Bar Animations/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Loading animation by codewithrutu_09
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
31 |
34 |
35 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Login Form/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Login Form
7 |
8 |
9 |
12 |
13 |
14 |
16 |
17 |
18 |
53 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/Loginform/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
CodePen - login & signup form
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Login Form
14 |
Signup Form
15 |
16 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/Loginform/script.js:
--------------------------------------------------------------------------------
1 | const loginText = document.querySelector(".title-text .login");
2 | const loginForm = document.querySelector("form.login");
3 | const loginBtn = document.querySelector("label.login");
4 | const signupBtn = document.querySelector("label.signup");
5 | const signupLink = document.querySelector("form .signup-link a");
6 | signupBtn.onclick = () => {
7 | loginForm.style.marginLeft = "-50%";
8 | loginText.style.marginLeft = "-50%";
9 | };
10 | loginBtn.onclick = () => {
11 | loginForm.style.marginLeft = "0%";
12 | loginText.style.marginLeft = "0%";
13 | };
14 | signupLink.onclick = () => {
15 | signupBtn.click();
16 | return false;
17 | };
18 |
--------------------------------------------------------------------------------
/Magical Navigation Bar/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Magic Navigation Menu
6 |
7 |
8 |
9 |
10 |
11 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Magical Navigation Bar/script.js:
--------------------------------------------------------------------------------
1 | console.clear();
2 | const list = document.querySelectorAll('.list');
3 | const nav = document.querySelector('.navigation');
4 | list.forEach(item => item.addEventListener('click', function(e){
5 | list.forEach(li => li.classList.remove('active'));
6 | e.currentTarget.classList.add('active');
7 | }));
8 |
9 |
--------------------------------------------------------------------------------
/Magical Navigation Bar/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | body {
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | min-height: 100vh;
12 | background: #282A36;
13 | }
14 |
15 | .navigation {
16 | position: relative;
17 | width: 400px;
18 | height: 60px;
19 | background: white;
20 | display: flex;
21 | justify-content: center;
22 | align-items: center;
23 | border-radius: 10px;
24 | }
25 |
26 | .navigation ul {
27 | width: 350px;
28 | display: flex;
29 | }
30 |
31 |
32 | .navigation ul li {
33 | list-style: none;
34 | position: relative;
35 | width: 70px; /* ul: width 350 / 5 = 70 */
36 | height: 60px;
37 | z-index: 2;
38 | }
39 |
40 | .navigation ul li a {
41 | text-decoration: none;
42 | color:#555;
43 | position: relative;
44 | display: flex;
45 | justify-content: center;
46 | align-items: center;
47 | width: 100%;
48 | height: 100%;
49 | }
50 |
51 | .navigation ul li a .icon {
52 | position:relative;
53 | background: #fff;
54 | display:block;
55 | width: 55px;
56 | height: 55px;
57 | text-align: center;
58 | line-height: 65px;
59 | border-radius: 65px;
60 | color: #222327;
61 | font-size: 1.5em;
62 | transition: 0.5s;
63 | transition-delay: 0s;
64 | }
65 |
66 | .navigation ul li.active a .icon {
67 | background: var(--clr);
68 | color: #fff;
69 | transform: translatey(-27px);
70 | transition-delay: 0.25s;
71 | }
72 |
73 | .navigation ul li a .icon:before {
74 | content: '';
75 | position: absolute;
76 | top: 10px;
77 | left: 0;
78 | width: 100%;
79 | height: 100%;
80 | background: var(--clr);
81 | border-radius: 50%;
82 | filter: blur(5px);
83 | opacity:0;
84 | transition: .5s;
85 | transition-delay: 0.15s;
86 | }
87 |
88 | .navigation ul li.active a .icon:before {
89 | opacity: 0.5;
90 | transition-delay: 0.25s;
91 | }
92 |
93 | .indicator {
94 | position: absolute;
95 | top: -35px;
96 | width: 70px;
97 | height: 70px;
98 | background: #fff;
99 | border-radius: 50%;
100 | z-index: 1;
101 | transition: 0.5s;
102 | }
103 |
104 | .indicator::before {
105 | content: '';
106 | position: absolute;
107 | top: 5px;
108 | left: -27.5px;
109 | width: 30px;
110 | height: 30px;
111 | border-radius: 50%;
112 | box-shadow: 15px 18px #fff
113 | }
114 |
115 | .indicator::after {
116 | content: '';
117 | position: absolute;
118 | top: 5px;
119 | right: -27.5px;
120 | width: 30px;
121 | height: 30px;
122 | border-radius: 50%;
123 | box-shadow: -15px 18px #fff
124 | }
125 |
126 | .navigation ul li:nth-child(1).active ~ .indicator {
127 | transform: translatex(calc(70px * 0));
128 | }
129 |
130 | .navigation ul li:nth-child(2).active ~ .indicator {
131 | transform: translatex(calc(70px * 1));
132 | }
133 |
134 | .navigation ul li:nth-child(3).active ~ .indicator {
135 | transform: translatex(calc(70px * 2));
136 | }
137 |
138 | .navigation ul li:nth-child(4).active ~ .indicator {
139 | transform: translatex(calc(70px * 3));
140 | }
141 |
142 | .navigation ul li:nth-child(5).active ~ .indicator {
143 | transform: translatex(calc(70px * 4));
144 | }
145 |
--------------------------------------------------------------------------------
/Menu Bar Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Menu bar animation
7 |
8 |
9 |
10 |
11 |
45 |
46 |
47 |
48 |
Click On Picture!
49 |
50 |
51 |
52 |
58 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/Menu Bar Animation/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Dosis", sans-serif;
3 | text-align: center;
4 | background-color: rgb(1, 27, 122);
5 | color: white;
6 | }
7 |
8 | #menu {
9 | width: 150px;
10 | height: 150px;
11 | position: absolute;
12 | left: 50%;
13 | top: 50%;
14 | margin: -75px 0 0 -75px;
15 | list-style: none;
16 | font-size: 200%;
17 | }
18 |
19 | .menu-button {
20 | opacity: 0;
21 | z-index: -1;
22 | }
23 |
24 | .menu-button {
25 | width: 150px;
26 | height: 150px;
27 | position: absolute;
28 | left: 50%;
29 | top: 50%;
30 | margin: -75px 0 0 -75px;
31 | border-radius: 50%;
32 | background: url(Untold\ Coding.png);
33 | background-size: 100%;
34 | overflow: hidden;
35 | text-decoration: none;
36 | background-repeat: no-repeat;
37 | box-shadow: 0 0 15px rgb(246, 159, 159);
38 | }
39 |
40 | #menu:not(:target) > a:first-of-type,
41 | #menu:target > a:last-of-type {
42 | opacity: 1;
43 | z-index: 1;
44 | }
45 |
46 | #menu:not(:target) > .icon-plus:before,
47 | #menu:target > .icon-minus:before {
48 | opacity: 1;
49 | }
50 |
51 | .menu-item {
52 | width: 70px;
53 | height: 70px;
54 | position: absolute;
55 | left: 55%;
56 | line-height: 5px;
57 | top: 50%;
58 | margin: -50px 0 0 -50px;
59 | border-radius: 50%;
60 | background-color: rgba(160, 21, 21, 0.588);
61 | transform: translate(0px, 0px);
62 | transition: transform 500ms;
63 | z-index: -2;
64 | }
65 |
66 | .menu-item:hover {
67 | background-color: #c71414;
68 | color: #c71414;
69 | box-shadow: 0 0 10px rgb(255, 255, 255);
70 | }
71 |
72 | .menu-item a {
73 | color: #ffffff;
74 | position: relative;
75 | top: 30%;
76 | left: 0;
77 | text-decoration: none;
78 | }
79 |
80 | #menu:target > .menu-item:nth-child(6) {
81 | transform: rotate(60deg) translateY(-150px) rotate(300deg);
82 | transition-delay: 0s;
83 | }
84 |
85 | #menu:target > .menu-item:nth-child(5) {
86 | transform: rotate(20deg) translateY(-155px) rotate(-20deg);
87 | transition-delay: 0.1s;
88 | }
89 |
90 | #menu:target > .menu-item:nth-child(3) {
91 | transform: rotate(-20deg) translateY(-155px) rotate(20deg);
92 | transition-delay: 0.2s;
93 | }
94 |
95 | #menu:target > .menu-item:nth-child(4) {
96 | transform: rotate(-60deg) translateY(-150px) rotate(60deg);
97 | transition-delay: 0.3s;
98 | }
99 |
100 | .content {
101 | position: absolute;
102 | text-align: center;
103 | margin: -10px 0 0 -30px;
104 | top: 65%;
105 | left: 50%;
106 | font-size: 15px;
107 | }
108 |
109 |
--------------------------------------------------------------------------------
/Modern Navbar Design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Document
8 |
9 |
10 |
19 |
20 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Modern Navbar Design/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 | body{
11 | display: flex;
12 | justify-content: center;
13 | align-items: center;
14 | min-height: 100vh;
15 | background: #142329;
16 | overflow: hidden;
17 | cursor: none;
18 | }
19 |
20 | ul li{
21 | /* position: relative; */
22 | list-style: none;
23 | }
24 |
25 | ul li a{
26 | color: #fff;
27 | text-decoration: none;
28 | font-size: 3em;
29 | font-weight: 800;
30 | text-transform: uppercase;
31 | transition: 0.5s;
32 | }
33 |
34 | ul:hover li a{
35 | opacity: 0.1;
36 | }
37 |
38 | ul li a:hover{
39 | opacity: 1;
40 | /* color: transparent; */
41 | }
42 |
43 | ul li a img{
44 | position: absolute;
45 | top: var(--y);
46 | left: var(--x);
47 | transform: translate(-50%, -50%) scale(0);
48 | opacity: 0;
49 | transition: 0.2s;
50 | pointer-events: none;
51 | z-index: -2;
52 | filter: grayscale(1);
53 | border-radius: 25px;
54 | }
55 |
56 | ul li a:hover img{
57 | transform: translate(-50%, -50%) scale(1);
58 | opacity: 1;
59 | }
60 |
61 | ul li a::before{
62 | content: attr(data-text);
63 | position: absolute;
64 | top: var(--y);
65 | left: var(--x);
66 | transform: translate(-50%, -50%);
67 | pointer-events: none;
68 | opacity: 0;
69 | transition: 0.25s;
70 | font-size: 17vw;
71 | z-index: -1;
72 | color: transparent;
73 | -webkit-text-stroke: 2px #fff;
74 | }
75 |
76 | ul li a:hover::before{
77 | opacity: 1;
78 | }
79 |
80 | .cursor{
81 | position: absolute;
82 | top: var(--y);
83 | left: var(--x);
84 | transform: translate(-50%, -50%);
85 | width: 30px;
86 | height: 30px;
87 | border-radius: 50%;
88 | background: transparent;
89 | border: 4px solid #2efc72;
90 | pointer-events: none;
91 | transition: width 0.25s height 0.25s;
92 | }
93 |
94 | ul li:hover ~ .cursor{
95 | width: 80vw;
96 | height: 80vw;
97 | border: 2px solid #2efc72;
98 | }
99 |
--------------------------------------------------------------------------------
/Modern-Login-Page/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Modern Login Page
10 |
11 |
12 |
13 |
14 |
15 |
31 |
47 |
48 |
49 |
50 |
Welcome Back !
51 |
Enter your personal details to use all of site features
52 |
Sign In
53 |
54 |
55 |
Welcome, Friend!
56 |
Enter your personal details to use all of site features
57 |
Sign Up
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/Modern-Login-Page/script.js:
--------------------------------------------------------------------------------
1 | const container = document.getElementById('container');
2 | const registerBtn = document.getElementById('register');
3 | const loginBtn = document.getElementById('login');
4 |
5 | registerBtn.addEventListener('click', () => {
6 | container.classList.add("active");
7 | });
8 |
9 | loginBtn.addEventListener('click', () => {
10 | container.classList.remove("active");
11 | });
12 |
--------------------------------------------------------------------------------
/Modern-Login-Page/style.css:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Modern Login Page
10 |
11 |
12 |
13 |
14 |
15 |
31 |
47 |
48 |
49 |
50 |
Welcome Back !
51 |
Enter your personal details to use all of site features
52 |
Sign In
53 |
54 |
55 |
Welcome, Friend!
56 |
Enter your personal details to use all of site features
57 |
Sign Up
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/Mouse-Movement-Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
CodePen - Mouse movement button with border-radius
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Hover me I'm Codewithrutu
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Mouse-Movement-Animation/script.js:
--------------------------------------------------------------------------------
1 | document.querySelector('.button').onmousemove = e => {
2 |
3 | const x = e.pageX - e.target.offsetLeft;
4 | const y = e.pageY - e.target.offsetTop;
5 |
6 | e.target.style.setProperty('--x', `${x}px`);
7 | e.target.style.setProperty('--y', `${y}px`);
8 |
9 | };
10 |
--------------------------------------------------------------------------------
/Mouse-Movement-Animation/style.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | display: flex;
4 | justify-content: center;
5 | align-items: center;
6 | min-height: 100vh;
7 | background: white;
8 | }
9 |
10 | .button {
11 | position: relative;
12 | -webkit-appearance: none;
13 | -moz-appearance: none;
14 | appearance: none;
15 | background: #f72359;
16 | padding: 1em 2em;
17 | border: none;
18 | color: white;
19 | font-size: 1.2em;
20 | cursor: pointer;
21 | outline: none;
22 | overflow: hidden;
23 | }
24 | .button span {
25 | position: relative;
26 | pointer-events: none;
27 | }
28 | .button::before {
29 | --size: 0;
30 | content: "";
31 | position: absolute;
32 | left: var(--x);
33 | top: var(--y);
34 | width: var(--size);
35 | height: var(--size);
36 | background: radial-gradient(circle closest-side, #4405f7, transparent);
37 | transform: translate(-50%, -50%);
38 | transition: width 0.2s ease, height 0.2s ease;
39 | }
40 | .button:hover::before {
41 | --size: 400px;
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/Music Player Card design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Music player
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Now Playing
16 |
17 |
18 |
19 |
20 |
Lovely
21 |
Billie Eilish & Khalid
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
69 |
70 | 0:35
71 | 3:58
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Night View/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Night View
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
22 |
23 |
24 |
25 |
35 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/OLA landing page/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ola
8 |
9 |
10 |
11 |
12 |
22 |
23 |
24 |
25 |
26 |
Let's Ride The
27 |
Future
28 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos, ex.
29 |
Pre-order
30 |
31 |
32 |
33 |
34 | 80 km/hr Speed
35 | 100 km battery range
36 | 3.5hr charging time
37 |
38 |
39 |
40 |
41 |
42 |
43 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/OLA landing page/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/OLA landing page/ola.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rutuja927/HTML-CSS-JAVASCRIPT-PROJECTS/386dfa59397a4d79fb89ac3929a76c366a68defb/OLA landing page/ola.png
--------------------------------------------------------------------------------
/PrintMotion/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
PrintMotion
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/PrintMotion/script.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | $('#printer-animation').mouseleave(function(){
3 | $(this).removeClass('clicked');
4 | }).dblclick(function(){
5 | $(this).addClass('clicked').html($(this).html());
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/QR Generator/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
QR Code Generator in JavaScript
6 |
7 |
8 |
9 |
10 |
11 |
12 | QR Code Generator
13 |
14 |
15 |
16 | Generate QR Code
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/QR Generator/script.js:
--------------------------------------------------------------------------------
1 | const wrapper = document.querySelector(".wrapper"),
2 | qrInput = wrapper.querySelector(".form input"),
3 | generateBtn = wrapper.querySelector(".form button"),
4 | qrImg = wrapper.querySelector(".qr-code img");
5 | let preValue;
6 | generateBtn.addEventListener("click", () => {
7 | let qrValue = qrInput.value.trim();
8 | if (!qrValue || preValue === qrValue) return;
9 | preValue = qrValue;
10 | generateBtn.innerText = "Generating QR Code...";
11 | qrImg.src = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${qrValue}`;
12 | qrImg.addEventListener("load", () => {
13 | wrapper.classList.add("active");
14 | generateBtn.innerText = "Generate QR Code";
15 | });
16 | });
17 | qrInput.addEventListener("keyup", () => {
18 | if (!qrInput.value.trim()) {
19 | wrapper.classList.remove("active");
20 | preValue = "";
21 | }
22 | });
23 |
24 |
--------------------------------------------------------------------------------
/QR Generator/style.css:
--------------------------------------------------------------------------------
1 |
2 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
3 | * {
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: "Poppins", sans-serif;
8 | }
9 | body {
10 | display: flex;
11 | padding: 0 10px;
12 | min-height: 100vh;
13 | align-items: center;
14 | background: #000000;
15 | justify-content: center;
16 | }
17 | .wrapper {
18 | height: 265px;
19 | max-width: 410px;
20 | background: linear-gradient(#ffffff, #48b0dc);
21 | border-radius: 7px;
22 | padding: 20px 25px 0;
23 | transition: height 0.2s ease;
24 | box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
25 | border: 3px solid white;
26 | }
27 | .wrapper.active {
28 | height: 530px;
29 | }
30 | header h1 {
31 | font-size: 21px;
32 | font-weight: 900;
33 | color: rgb(0, 81, 255);
34 | }
35 |
36 | .wrapper .form {
37 | margin: 20px 0 25px;
38 | }
39 | .form :where(input, button) {
40 | width: 100%;
41 | height: 55px;
42 | border: none;
43 | outline: none;
44 | border-radius: 5px;
45 | transition: 0.1s ease;
46 | }
47 | .form input {
48 | font-size: 12px;
49 | padding: 0 17px;
50 | border: 1px solid #999;
51 | }
52 | .form input:focus {
53 | box-shadow: 0 3px 6px rgba(0, 0, 0, 0.13);
54 | }
55 | .form input::placeholder {
56 | color: #999;
57 | }
58 | .form button {
59 | color: #fff;
60 | cursor: pointer;
61 | margin-top: 20px;
62 | font-size: 17px;
63 | background: #3498db;
64 | }
65 | .form button:hover {
66 | color: #3498db;
67 |
68 | background: #fff;
69 | }
70 | .qr-code {
71 | opacity: 0;
72 | display: flex;
73 | padding: 33px 0;
74 | border-radius: 5px;
75 | align-items: center;
76 | pointer-events: none;
77 | justify-content: center;
78 | border: 1px solid #ccc;
79 | }
80 | .wrapper.active .qr-code {
81 | opacity: 1;
82 | pointer-events: auto;
83 | transition: opacity 0.5s 0.05s ease;
84 | }
85 | .qr-code img {
86 | width: 170px;
87 | }
88 |
89 | @media (max-width: 430px) {
90 | .wrapper {
91 | height: 255px;
92 | padding: 16px 20px;
93 | }
94 | .wrapper.active {
95 | height: 510px;
96 | }
97 | .form :where(input, button) {
98 | height: 52px;
99 | }
100 | .qr-code img {
101 | width: 160px;
102 | }
103 | }
104 |
--------------------------------------------------------------------------------
/Radiant Ripple/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
RadiantRipple
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Radiant Ripple/style.css:
--------------------------------------------------------------------------------
1 | *{box-sizing:border-box}
2 | body {
3 | margin: 0;
4 | display: flex;
5 | justify-content: center;
6 | align-items: center;
7 | height: 100vh;
8 | }
9 | @keyframes loader {
10 | 0% {transform:rotate(-45deg)}
11 | 50%{transform:rotate(-135deg)}
12 | 100%{transform:rotate(-225deg)}}
13 | @keyframes span-1 {
14 | 0% {transform:translate(0);}
15 | 50%{transform:translate(-50px, 0);border-color:#EE4D68}
16 | 100%{transform:translate(0);}}
17 | @keyframes span-2 {
18 | 0%{transform:translate(0);}
19 | 50%{transform:translate(50px, 0);border-color:#875678}
20 | 100%{transform:translate(0);}}
21 | @keyframes span-3 {
22 | 0%{transform:translate(0);}
23 | 50%{transform:translate(0, -50px);border-color:#FF9900}
24 | 100%{transform:translate(0);}}
25 | @keyframes span-4 {
26 | 0%{transform:translate(0);}
27 | 50%{transform:translate(0, 50px);border-color:#00E4F6}
28 | 100%{transform:translate(0);}}
29 | .loader {
30 | width: 50px;
31 | height: 50px;
32 | position: relative;
33 | animation: loader 2s infinite ease-in-out;
34 | }
35 | .loader span {
36 | width: 50px;
37 | height: 50px;
38 | position: absolute;
39 | left: 0;
40 | top: 0;
41 | border: 4px solid #0B1B48;
42 | }
43 | .loader span:nth-child(1) {
44 | animation: span-1 2s ease-in-out infinite;
45 | }
46 | .loader span:nth-child(2) {
47 | animation: span-2 2s ease-in-out infinite;
48 | }
49 | .loader span:nth-child(3) {
50 | animation: span-3 2s ease-in-out infinite;
51 | }
52 | .loader span:nth-child(4) {
53 | animation: span-4 2s ease-in-out infinite;
54 | }
55 |
--------------------------------------------------------------------------------
/Responsive Footer Design/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Responsive Footer Design
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Responsive Footer Design/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
2 |
3 | body{
4 | line-height: 1.5;
5 | font-family: 'Poppins', sans-serif;
6 | }
7 |
8 | *{
9 | margin:0;
10 | padding:0;
11 | box-sizing: border-box;
12 | }
13 |
14 | .container{
15 | max-width: 1170px;
16 | margin:auto;
17 | }
18 |
19 | .row{
20 | display: flex;
21 | flex-wrap: wrap;
22 | }
23 |
24 | ul{
25 | list-style: none;
26 | }
27 |
28 | .footer{
29 | background-color: #24262b;
30 | padding: 70px 0;
31 | }
32 |
33 | .footer-col{
34 | width: 25%;
35 | padding: 0 15px;
36 | }
37 |
38 | .footer-col h4{
39 | font-size: 18px;
40 | color: #ffffff;
41 | text-transform: capitalize;
42 | margin-bottom: 35px;
43 | font-weight: 500;
44 | position: relative;
45 | }
46 |
47 | .footer-col h4::before{
48 | content: '';
49 | position: absolute;
50 | left:0;
51 | bottom: -10px;
52 | background-color: #e91e63;
53 | height: 2px;
54 | box-sizing: border-box;
55 | width: 50px;
56 | }
57 |
58 | .footer-col ul li:not(:last-child){
59 | margin-bottom: 10px;
60 | }
61 |
62 | .footer-col ul li a{
63 | font-size: 16px;
64 | text-transform: capitalize;
65 | color: #ffffff;
66 | text-decoration: none;
67 | font-weight: 300;
68 | color: #bbbbbb;
69 | display: block;
70 | transition: all 0.3s ease;
71 | }
72 |
73 | .footer-col ul li a:hover{
74 | color: #ffffff;
75 | padding-left: 8px;
76 | }
77 |
78 | .footer-col .social-links a{
79 | display: inline-block;
80 | height: 40px;
81 | width: 40px;
82 | background-color: rgba(255,255,255,0.2);
83 | margin:0 10px 10px 0;
84 | text-align: center;
85 | line-height: 40px;
86 | border-radius: 50%;
87 | color: #ffffff;
88 | transition: all 0.5s ease;
89 | }
90 |
91 | .footer-col .social-links a:hover{
92 | color: #24262b;
93 | background-color: #ffffff;
94 | }
95 |
96 | /*responsive*/
97 | @media(max-width: 767px){
98 | .footer-col{
99 | width: 50%;
100 | margin-bottom: 30px;
101 | }
102 | }
103 | @media(max-width: 574px){
104 | .footer-col{
105 | width: 100%;
106 | }
107 | }
108 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/Scribble Image Reveal with SVG Blend Mode/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
CodePen - "Scribble" Image Reveal with SVG & Blend Modes
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Scribble Image Reveal with SVG Blend Mode/style.css:
--------------------------------------------------------------------------------
1 | @-webkit-keyframes scribble {
2 | to {
3 | stroke-dashoffset: 0;
4 | }
5 | }
6 | @keyframes scribble {
7 | to {
8 | stroke-dashoffset: 0;
9 | }
10 | }
11 | body {
12 | background: #000;
13 | }
14 |
15 | div#stripped {
16 | position: relative;
17 | top: 50px;
18 | max-width: 850px;
19 | margin: 0 auto;
20 | background: #000;
21 | background-image: url(https://images.unsplash.com/photo-1574784618880-a1036d310e7c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80);
22 | background-size: cover;
23 | font-size: 0;
24 | }
25 |
26 |
27 | div#stripped svg {
28 | background: #000;
29 | mix-blend-mode: darken;
30 | }
31 |
32 | div#stripped svg polyline {
33 | fill: none;
34 | stroke: #f00;
35 | stroke-width: 200;
36 | stroke-dasharray: 20000;
37 | stroke-dashoffset: 20000;
38 | -webkit-animation: scribble 4s linear forwards;
39 | animation: scribble 4s linear forwards;
40 | }
41 | @media
42 | (-webkit-min-device-pixel-ratio: 2),
43 | (min-resolution: 192dpi) {
44 | div#stripped {
45 | background-image: url(https://images.unsplash.com/photo-1574784618880-a1036d310e7c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Seasons Slider/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Season Slider
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Selling car landing page/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Selling cars Landing Page
6 |
7 |
8 |
9 |
10 |
11 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/Selling car landing page/script.js:
--------------------------------------------------------------------------------
1 |
2 | var header= document.getElementById("header");
3 | var ms= document.getElementById("PORSCHE");
4 | var m3= document.getElementById("AUDI");
5 | var mx= document.getElementById("BMW");
6 | var my= document.getElementById("MERCEDES");
7 | var model= document.getElementById("model");
8 | var mph= document.getElementById("mph");
9 | var speed= document.getElementById("speed");
10 | var range= document.getElementById("range");
11 |
12 | ms.onclick=function(){
13 | header.style.backgroundImage="url(https://images.unsplash.com/photo-1503376780353-7e6692767b70?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)";
14 | model.innerHTML="PORSCHE";
15 | mph.innerHTML="1.5s";
16 | speed.innerHTML="300 mph";
17 | range.innerHTML="400 mi";
18 | }
19 | m3.onclick=function(){
20 | header.style.backgroundImage="url(https://images.unsplash.com/photo-1603584173870-7f23fdae1b7a?q=80&w=2069&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)";
21 | model.innerHTML="AUDI";
22 | mph.innerHTML="1.7s";
23 | speed.innerHTML="350 mph";
24 | range.innerHTML="500 mi";
25 | }
26 | mx.onclick=function(){
27 | header.style.backgroundImage="url(https://images.unsplash.com/photo-1555215695-3004980ad54e?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)";
28 | model.innerHTML="BMW";
29 | mph.innerHTML="2.5s";
30 | speed.innerHTML="420 mph";
31 | range.innerHTML="450 mi";
32 | }
33 | my.onclick=function(){
34 | header.style.backgroundImage="url(https://images.unsplash.com/photo-1501066927591-314112b5888e?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)";
35 | model.innerHTML="MERCEDES";
36 | mph.innerHTML="3.5s";
37 | speed.innerHTML="450 mph";
38 | range.innerHTML="350 mi";
39 | }
40 |
--------------------------------------------------------------------------------
/Selling car landing page/style.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin:0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | font-family: 'poppins', sans-serif;
6 | }
7 | .header{
8 | width: 100%;
9 | height: 100vh;
10 | background-image: url("https://images.unsplash.com/photo-1648413653877-ade5eefd2f1b?q=80&w=1932&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D");
11 | background-color: rgba(0,0,0,0.5);
12 | background-blend-mode: multiply;
13 | background-position: center;
14 | background-size: cover;
15 | padding: 0 7%;
16 | transition: background-image 1s;
17 |
18 | }
19 | nav{
20 | position: fixed;
21 | top: 0;
22 | left: 0;
23 | width: 100%;
24 | height: 100px;
25 | display: flex;
26 | align-items: center;
27 |
28 | }
29 | .logo{
30 | margin-left: 6%;
31 | cursor: pointer;
32 | color: #fff;
33 | font-size: 20px;
34 | text-transform: uppercase;
35 | font-weight: 300;
36 | }
37 | nav ul{
38 | flex: 1;
39 | text-align: center;
40 |
41 | }
42 | nav ul li{
43 | display: inline-block;
44 | margin: 10px 20px;
45 |
46 | }
47 | nav ul li a{
48 | text-decoration: none;
49 | color: #fff;
50 |
51 | }
52 | nav .btn{
53 | color: #fff;
54 | text-decoration: none;
55 | border: 1px solid #fff;
56 | padding: 10px 30px;
57 | border-radius: 30px;
58 | margin-right: 7%;
59 | transition: 0.4s;
60 | }
61 |
62 | nav .btn:hover{
63 | background: #fff;
64 | color: #000;
65 | }
66 | .info{
67 | width: 100%;
68 | padding: 0 7%;
69 | display: flex;
70 | align-items: center;
71 | color: #fff;
72 | position: fixed;
73 | bottom: 50px;
74 | left: 0;
75 |
76 | }
77 | .info div{
78 | margin: 0 20px;
79 |
80 | }
81 | .info div h2{
82 | font-size: 44px;
83 | font-weight: 400;
84 |
85 | }
86 | .info .line{
87 | flex: 1;
88 | background: #fff;
89 | height: 4px;
90 |
91 | }
92 |
--------------------------------------------------------------------------------
/Shoes box image sliders/script.js:
--------------------------------------------------------------------------------
1 | console.clear();
2 |
3 | const elShoes = document.querySelectorAll(".shoe");
4 |
5 | [...elShoes].forEach((shoe) => {
6 | shoe.addEventListener("click", () => {
7 | [...document.querySelectorAll(".shoe[data-active]")].forEach(
8 | (el) => delete el.dataset.active
9 | );
10 |
11 | shoe.dataset.active = true;
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/Sleeping santa/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Sleeping Santa
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Z
14 |
Z
15 |
Z
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
33 |
34 |
35 |
41 |
42 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Smoke effect on name/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Smoke effect on Name
9 |
10 |
11 |
12 |
13 |
14 | R
15 | U
16 | T
17 | U
18 | J
19 | A
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Smoke effect on name/smoke.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rutuja927/HTML-CSS-JAVASCRIPT-PROJECTS/386dfa59397a4d79fb89ac3929a76c366a68defb/Smoke effect on name/smoke.mp4
--------------------------------------------------------------------------------
/Smoke effect on name/style.css:
--------------------------------------------------------------------------------
1 | *{
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | video{
8 | object-fit: cover;
9 | }
10 |
11 | section{
12 | background:#000 ;
13 | }
14 |
15 | h1{
16 | position: absolute;
17 | top: 50%;
18 | transform: translateY(-50%);
19 | width: 100%;
20 | text-align: center;
21 | letter-spacing: 1rem;
22 | text-transform: uppercase;
23 | color: #f5f5f5;
24 | font-size: 5em;
25 | font-family: sans-serif;
26 | }
27 |
28 | h1 span{
29 | display: inline-block;
30 | animation: animate 1s ease-in-out;
31 |
32 | }
33 |
34 | @keyframes animate{
35 | 0%{
36 | opacity: 0%;
37 | transform: rotateY(90deg);
38 | filter: blur(10px);
39 | }
40 | 100%{
41 | opacity: 1;
42 | transform: rotateY(0deg);
43 | filter: blur(0px);
44 | }
45 | }
46 | h1 span:nth-child(1)
47 | {
48 | animation-delay: 0.6s;
49 | }
50 | h1 span:nth-child(2)
51 | {
52 | animation-delay: 1s;
53 | }
54 | h1 span:nth-child(3)
55 | {
56 | animation-delay: 1.7s;
57 | }
58 | h1 span:nth-child(4)
59 | {
60 | animation-delay: 2.3s;
61 | }
62 | h1 span:nth-child(5)
63 | {
64 | animation-delay: 2.7s;
65 | }
66 | h1 span:nth-child(6)
67 | {
68 | animation-delay: 3.2s;
69 | }
70 | h1 span:nth-child(7)
71 | {
72 | animation-delay: 3.7s;
73 | }
74 | h1 span:nth-child(8)
75 | {
76 | animation-delay: 4s;
77 | }
78 |
--------------------------------------------------------------------------------
/Social Media Icons with Hover Effect/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Hover effect on icons
9 |
10 |
11 |
12 |
13 |
14 |
Social Media icons
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Social Media Icons with Hover Effect/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 |
3 | *{
4 | margin: 0;
5 | padding: 0;
6 | box-sizing: border-box;
7 | font-family: 'Poppins', sans-serif;
8 | }
9 |
10 |
11 | .container{
12 | display: flex;
13 | justify-content: center;
14 | align-items: center;
15 | width: 100%;
16 | height: 100vh;
17 | background-color: #f1f9ff;
18 | flex-wrap: wrap;
19 | flex-direction: column;
20 | }
21 |
22 | .container h1{
23 | font-size: 40px;
24 | line-height: 5;
25 | text-transform: uppercase;
26 | letter-spacing: 0.1em;
27 | font-weight: 300;
28 | }
29 |
30 | .social{
31 | display: flex;
32 | gap: 30px;
33 | }
34 |
35 | .social a{
36 | position: relative;
37 | width: 80px;
38 | height: 80px;
39 | text-align: center;
40 | text-decoration: none;
41 | color: #000;
42 | background: linear-gradient(145deg, #ffffff, #d9e0e6);
43 | box-shadow: inset 6px 6px 14px #8e9396,
44 | inset -6px -6px 14px #ffffff;
45 | border-radius: 25px;
46 | overflow: hidden;
47 | }
48 |
49 | .social a .fa-brands{
50 | position: relative;
51 | font-size: 30px;
52 | line-height: 80px;
53 | z-index: 2;
54 | transition: color 0.5s;
55 |
56 | }
57 |
58 | .social a::after{
59 | content: '';
60 | width: 100%;
61 | height: 100%;
62 | top: -90px;
63 | left: 0;
64 | background: linear-gradient(-45deg, #12c2e9, #c471ed, #f64f59);
65 | position: absolute;
66 | border-radius: 25px;
67 | transition: 0.5s ease;
68 | }
69 |
70 | .social a:hover::after{
71 | top: 0;
72 | }
73 |
74 | .social a:hover .fa-brands{
75 | color: #fff;
76 | text-shadow: 1px 2px 14px #8e93969c,
77 | -1px -2px 14px #ffffffb7;
78 | }
79 |
--------------------------------------------------------------------------------
/Spring Tabs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Spring Tabs
7 |
8 |
9 |
10 |
11 |
12 |
Pending
13 |
Approved
14 |
Rejected
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Spring Tabs/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | box-sizing: border-box;
3 | }
4 |
5 | body {
6 | padding: 0;
7 | margin: 0;
8 | background: hsl(269, 95%, 22%);
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | min-height: 100vh;
13 | -webkit-font-smoothing: antialiased;
14 | -moz-osx-font-smoothing: grayscale;
15 | }
16 |
17 | .tabs {
18 | --tab-width: 100px;
19 | --tab-height: 30px;
20 | --tab-border-radius: 5px;
21 | background: hsl(270.2, 100%, 3.5%);
22 | border-radius: 5px;
23 | padding: 8px 8px;
24 | display: flex;
25 | gap: 0 20px;
26 | position: relative;
27 | overflow: hidden;
28 | outline: 1px solid hsl(270.2, 50%, 10%);
29 | }
30 |
31 | .tab,
32 | .active-tab {
33 | --tab-text-color: hsl(247.2, 10%, 40%);
34 | color: var(--tab-text-color);
35 | font-size: 14px;
36 | font-weight: 700;
37 | -webkit-user-select: none;
38 | user-select: none;
39 | line-height: 0;
40 | font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
41 | Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue',
42 | sans-serif;
43 | width: var(--tab-width);
44 | height: var(--tab-height);
45 | display: flex;
46 | align-items: center;
47 | justify-content: center;
48 | text-align: center;
49 | position: relative;
50 | z-index: 1;
51 | cursor: pointer;
52 | }
53 |
54 | .active-tab {
55 | position: absolute;
56 | z-index: 3;
57 | pointer-events: none;
58 | }
59 |
60 | .switcher {
61 | opacity: 0.5;
62 | position: absolute;
63 | z-index: 2;
64 | width: var(--tab-width);
65 | height: var(--tab-height);
66 | background: hsl(270.2, 100%, 80%);
67 | border-radius: var(--tab-border-radius);
68 | touch-action: none;
69 | cursor: pointer;
70 | }
71 |
--------------------------------------------------------------------------------
/Stars in Sky Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Star in Sky Animation
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Submit Button Animation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Button ANimation
7 |
8 |
9 |
10 |
11 | Submit
12 |
13 |
18 |
19 |
20 |
21 |
27 |
28 |
29 |
Reset
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Submit Button Animation/script.js:
--------------------------------------------------------------------------------
1 |
2 | var button = document.getElementById("js-btn"),
3 | timer = document.getElementById("js-timer"),
4 | reset = document.getElementById("js-reset");
5 |
6 | button.addEventListener("click", doSubmit);
7 | reset.addEventListener("click", resetButton);
8 |
9 | function doSubmit() {
10 | if (button.classList.contains("do-submit")) {
11 | return;
12 | }
13 |
14 | button.classList.add("do-submit");
15 |
16 | setTimeout(function () {
17 | doTimer(0);
18 | }, 1200);
19 |
20 | setTimeout(function () {
21 | doTimer(15);
22 | }, 1200);
23 |
24 | setTimeout(function () {
25 | doTimer(75);
26 | }, 2000);
27 |
28 | setTimeout(function () {
29 | doTimer(100);
30 | }, 2800);
31 | }
32 |
33 | function doTimer(amountLoaded) {
34 | timer.style.strokeDashoffset = 3.83 * (100 - amountLoaded) + "px";
35 |
36 | if (amountLoaded === 100) {
37 | setTimeout(function () {
38 | button.classList.add("success");
39 | }, 500);
40 | }
41 | }
42 |
43 | function resetButton() {
44 | button.classList.add("reset");
45 | setTimeout(function () {
46 | button.classList.remove("success");
47 | button.classList.remove("do-submit");
48 | button.classList.remove("reset");
49 | }, 500);
50 |
51 | timer.style.strokeDashoffset = "383px";
52 |
53 | time = 90;
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/Text to Speech Converter/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Text to Speech JS
7 |
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
Enter Text / Paste
19 |
20 |
21 |
22 |
23 | Speak
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Text to Speech Converter/script.js:
--------------------------------------------------------------------------------
1 | function speak() {
2 | const utter = new SpeechSynthesisUtterance();
3 | utter.rate = 1.0; // speed: 0.1-10
4 | utter.volume = 1.0; // 0-1
5 | utter.pitch = 0.5; // 0 (low) - 2 (high)
6 | utter.voice = speechSynthesis.getVoices()[0];
7 | utter.text = document.querySelector('#txt').value;
8 | speechSynthesis.speak(utter);
9 | }
10 |
--------------------------------------------------------------------------------
/Text to Speech Converter/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@500&display=swap');
2 | @import url('https://fonts.googleapis.com/css2?family=AR+One+Sans:wght@500&display=swap');
3 | *
4 | {
5 | margin: 0;
6 | padding: 0;
7 | box-sizing: border-box;
8 | }
9 | body
10 | {
11 | display: flex;
12 | flex-direction: column;
13 | align-items: center;
14 | justify-content: center;
15 | height: 100vh;
16 | background-color: #0000FF;
17 | }
18 |
19 |
20 | .container-box{
21 | width: 25%;
22 | background-color: white;
23 | padding: 60px;
24 | border-radius: 5px;
25 | border: none;
26 | display: flex;
27 | flex-direction: column;
28 | align-items: center;
29 | justify-content: center;
30 | box-shadow: 5px 5px 5px black;
31 | }
32 |
33 | h2{
34 | font-family: 'Gabarito', sans-serif;
35 | }
36 |
37 | h3{
38 | font-family: 'AR One Sans', sans-serif;
39 | font-size: 1rem;
40 | color: darkgrey;
41 | }
42 |
43 | .input-field{
44 | padding-top: 30px;
45 | margin: 5px;
46 | }
47 |
48 |
49 |
50 | textarea{
51 | width: 300px;
52 | height: 150px;
53 | padding: 10px;
54 | background-color: white;
55 | border: 2px solid gray;
56 | font-family: 'Gabarito', sans-serif;
57 | outline: none;
58 | resize: none;
59 | border-radius: 5px;
60 | cursor: pointer;
61 | margin-top: 10px;
62 | }
63 |
64 |
65 |
66 | .btn{
67 | padding-top: 25px;
68 | }
69 |
70 | button{
71 | width: 200px;
72 | background-color: black;
73 | border-radius: 5px;
74 | border: none;
75 | outline: none;
76 | cursor: pointer;
77 | color: white;
78 | padding: 10px;
79 | font-family: 'AR One Sans', sans-serif;
80 | transition: 0.5s ease;
81 | }
82 |
83 | button:hover{
84 | background-color: #0000FF;
85 | color: white;
86 | }
87 |
--------------------------------------------------------------------------------
/Tic Toe Game/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Tic Tac mini game | untoldcoding
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
Restart
24 |
25 |
29 |
30 |
31 |
32 |
33 |