23 |
24 |
25 |
--------------------------------------------------------------------------------
/ToastNotification/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Galdeano&display=swap');
2 | body {
3 | display: flex;
4 | flex-flow: column wrap;
5 | justify-content: center;
6 | align-items: center;
7 | min-height: 100vh;
8 | }
9 | #wrapper {
10 | /* height: 500px; */
11 | display: grid;
12 | place-items: center;
13 | font-family: 'Galdeano', sans-serif;
14 | position: fixed;
15 | top: 10px;
16 | right: 10px;
17 | }
18 | #btnToast {
19 | color: white;
20 | background-color: rebeccapurple;
21 | font-family: 'Galdeano', sans-serif;
22 | font-size: 20px;
23 | height: 100px;
24 | width: 300px;
25 | border: none;
26 | border-radius: 50px;
27 | outline: none;
28 | padding: 1rem;
29 | }
30 | .toast {
31 | background-color: rebeccapurple;
32 | color: #fff;
33 | width: 200px;
34 | text-align: center;
35 | padding: 1rem;
36 | border-radius: 25px;
37 | margin: 0.5rem;
38 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Muhammad Sameem
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PopUpModal/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | display: grid;
3 | place-items: center;
4 | }
5 | #popup-container {
6 | position: fixed;
7 | top: 0;
8 | bottom: 0;
9 | left: 0;
10 | right: 0;
11 | background-color: rgba(0, 0, 0, .5);
12 | display: none;
13 | place-items: center;
14 | }
15 | #popup-container.active {
16 | display: grid;
17 | }
18 | #popup {
19 | position: relative;
20 | width: 500px;
21 | border-radius: 5px;
22 | box-shadow: 2px 2px 10px rgba(0, 0, 0, .5);
23 | background-color: #fff;
24 | padding: 2rem;
25 | }
26 | #popup button {
27 | position: absolute;
28 | top: 10px;
29 | right: 10px;
30 | }
31 | #btnCloseModal {
32 | background-color: red;
33 | color: white;
34 | outline: none;
35 | border: 1px solid white;
36 | border-radius: 10px;
37 | height: 20px;
38 | width: 25px;
39 | text-align: center;
40 | }
41 | #btnOpenModal {
42 | background-color: rgb(85, 80, 80);
43 | color: white;
44 | outline: none;
45 | border: 1px solid white;
46 | border-radius: 25px;
47 | height: 50px;
48 | width: 100px;
49 | text-align: center;
50 | }
--------------------------------------------------------------------------------
/ImageCarousel/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Image Carousel
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Texturina&display=swap');
2 |
3 | body {
4 | background-image: radial-gradient( circle farthest-corner at 50.3% 44.5%, rgba(116,147,179,1) 0%, rgba(62,83,104,1) 100.2% );
5 | box-sizing: border-box;
6 | font-family: 'Texturina', serif;
7 | }
8 | #wrapper {
9 | display: flex;
10 | flex-flow: row wrap;
11 | justify-content: space-around;
12 | font-family: 'Texturina', serif;
13 | font-size: 20px;
14 | color: white;
15 | }
16 | #wrapper > div {
17 | width: 350px;
18 | box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.4);
19 | border-radius: 5px;
20 | background-color: #f1f1f1;
21 | color: darkslategray;
22 | margin: 10px;
23 | padding: 20px;
24 | text-align: center;
25 | position: relative;
26 | }
27 | img {
28 | margin-bottom: 30px;
29 | }
30 | #techStack {
31 | position: absolute;
32 | bottom: 5px;
33 | left: 0;
34 | right: 0;
35 | }
36 | button {
37 | font-family: 'Texturina', serif;
38 | border: none;
39 | border-radius: 5px;
40 | outline: none;
41 | background-image: radial-gradient( circle farthest-corner at -4% -12.9%, rgba(74,98,110,1) 0.3%, rgba(30,33,48,1) 90.2% );
42 | color: white;
43 | width: 100px;
44 | height: 30px;
45 | }
46 | h1{
47 | text-align: center;
48 | color: #f1f1f1;
49 | font-size: 36px;
50 | }
51 | footer {
52 | text-align: center;
53 | color: #f1f1f1;
54 | }
55 | a {
56 | text-decoration: none;
57 | }
--------------------------------------------------------------------------------
/DarkModeToggle/style.css:
--------------------------------------------------------------------------------
1 | #wrapper {
2 | position: absolute;
3 | top:10px;
4 | right: 20px;
5 | }
6 | body {
7 | display: grid;
8 | place-content: center;
9 | margin: 0;
10 | height: 100vh;
11 | background: silver;
12 | }
13 | #toggle {
14 | position: absolute;
15 | right: 100vw;
16 | }
17 | #toggle + label {
18 | --i: 0;
19 | --j: calc(1 - var(--i));
20 | display: grid;
21 | grid-gap: 0.5em 0.25em;
22 | overflow: hidden;
23 | padding: 0.5em;
24 | height: 1.5em;
25 | border-radius: 1.75em;
26 | background: hsl(199, 98%, calc(var(--j)*48%));
27 | color: transparent;
28 | user-select: none;
29 | transition: .3s;
30 | cursor: pointer;
31 | }
32 | #toggle + label:before, #toggle + label:after {
33 | width: 1.5em;
34 | height: 1.5em;
35 | transition: inherit;
36 | content: "";
37 | }
38 | #toggle + label:before {
39 | transform-origin: 20% 20%;
40 | transform: translate(calc(var(--i)*(100% + 0.25em))) scale(calc(1 - var(--i)*.7));
41 | background: yellow;
42 | --poly: polygon(44.13371% 12.96169%, 50% 0%, 55.86629% 12.96169%, 59.70571% 13.77778%, 63.4388% 14.99073%, 67.02464% 16.58726%, 79.38926% 9.54915%, 76.5165% 23.4835%, 79.14297% 26.40049%, 81.45015% 29.57604%, 83.41274% 32.97536%, 97.55283% 34.54915%, 87.03831% 44.13371%, 87.44861% 48.0374%, 87.44861% 51.9626%, 87.03831% 55.86629%, 97.55283% 65.45085%, 83.41274% 67.02464%, 81.45015% 70.42396%, 79.14297% 73.59951%, 76.5165% 76.5165%, 79.38926% 90.45085%, 67.02464% 83.41274%, 63.4388% 85.00927%, 59.70571% 86.22222%, 55.86629% 87.03831%, 50% 100%, 44.13371% 87.03831%, 40.29429% 86.22222%, 36.5612% 85.00927%, 32.97536% 83.41274%, 20.61074% 90.45085%, 23.4835% 76.5165%, 20.85703% 73.59951%, 18.54985% 70.42396%, 16.58726% 67.02464%, 2.44717% 65.45085%, 12.96169% 55.86629%, 12.55139% 51.9626%, 12.55139% 48.0374%, 12.96169% 44.13371%, 2.44717% 34.54915%, 16.58726% 32.97536%, 18.54985% 29.57604%, 20.85703% 26.40049%, 23.4835% 23.4835%, 20.61074% 9.54915%, 32.97536% 16.58726%, 36.5612% 14.99073%, 40.29429% 13.77778%);
43 | -webkit-clip-path: var(--poly);
44 | clip-path: var(--poly);
45 | }
46 | #toggle + label:after {
47 | grid-column: 2;
48 | border-radius: 50%;
49 | transform: translatey(calc(var(--i)*(-100% - 0.5em)));
50 | background: radial-gradient(circle at 19% 19%, rgba(0, 0, 0, 0) 41%, #ffffff 43%);
51 | }
52 | #toggle:checked + label {
53 | --i: 1;
54 | }
55 | body.dark {
56 | background-color: #1f1f1f;
57 | color: #e8e0e0;
58 | }
59 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JavaScriptApps-10MiniProjects-Challenge
2 |
3 | *Completing 10 different Mini-Projects Challenge 🚀*
4 | ## 📙 DESCRIPTION :
5 | + Welcome to our collection of **10 mini-projects** using HTML, CSS, and JavaScript!
6 | + These projects are designed to help you build a solid foundation in web development and improve your skills in creating dynamic and interactive websites.
7 | + Each project is designed to be self-contained and easy to follow, with clean code and perfect execution.
8 | + The projects range from simple exercises to more complex JavaScript applications, to enhance your knowledge on these technologies.
9 | + This collection is perfect for beginners who want to learn web development or for more experienced developers who want to expand their skills and flex their creative muscles.
10 | + By the end of these projects, you will have a strong understanding of the basics of web development and be able to create your own websites.
11 |
12 |
So let's start building some amazing projects!
13 |
14 |
15 | ## 📸 DEMO :
16 | Check the [MiniProjects](https://sameem420.github.io/10MiniProjectsChallenge/) websites to see what exciting projects you will be building
17 |