├── 38-NASA API for Astronomy Data
├── index.js
├── style.css
└── index.html
├── 37-Currency Exchange Rates using API
├── index.js
├── style.css
└── index.html
├── note.txt
├── 92-Lazy Loading Images
├── readme.md
├── images
│ ├── image1.jpg
│ ├── image2.jpg
│ └── image3.jpg
├── styles.css
├── index.html
└── script.js
├── screen.png
├── screenshot.png
├── 04-Tip Calculator
├── index.js
├── style.css
└── index.html
├── public
├── logo.png
├── 100PlusJS.png
├── 100PlusJS_logo.png
├── vercel.svg
├── window.svg
├── file.svg
├── globe.svg
└── next.svg
├── 05-Temperature Converter
├── index.js
├── style.css
└── index.html
├── src
├── app
│ ├── favicon.ico
│ ├── page.tsx
│ └── globals.css
└── components
│ └── ComingSoon.tsx
├── 75-Chess Game
├── package.json
├── index.html
├── script.js
├── style.css
├── .gitignore
└── server.js
├── 76-Hangman
├── images
│ └── hangman-2.png
├── style.css
└── index.html
├── postcss.config.mjs
├── 64-Geographical Data Visualization
├── styles.css
└── index.html
├── 70-Social Media Analytics Dashboard
├── app.js
├── styles.css
└── index.html
├── 90-Responsive Design for Accessibility
├── script.js
├── readme.md
├── styles.css
└── index.html
├── next.config.ts
├── 69-Population Density Map
├── styles.css
├── index.html
└── app.js
├── 58-Browser Extension
├── popup
│ ├── content.js
│ ├── popup.css
│ ├── popup.js
│ └── popup.html
└── manifest.json
├── 61-Interactive Charts
├── styles.css
└── index.html
├── 62-Heatmap Generator
├── styles.css
└── index.html
├── 89-Aria Role Implementation
├── script.js
├── styles.css
└── index.html
├── 17-Music Player
├── index.js
├── style.css
└── index.html
├── 84-Text Resize
├── styles.css
├── app.js
└── index.html
├── 88-High-Contrast Mode
├── styles-high-contrast.css
├── script.js
├── styles.css
└── index.html
├── 95-Reducing DOM Manipulations
├── styles.css
├── index.html
└── script.js
├── 54-Unit Converter
├── styles.css
├── index.html
└── script.js
├── 63-Dashboard with Graphs and Metrics
└── styles.css
├── 24-Photo Editing Tool
├── styles.css
└── index.html
├── 81-Screen Reader Compatibility
├── styles.css
├── app.js
└── index.html
├── 94-Caching Mechanism
├── styles.css
├── script.js
└── index.html
├── 68-Visualizing COVID-19 Dat
├── styles.css
└── index.html
├── 08-Countdown Timer
├── style.css
├── index.html
└── script.js
├── 55-Markdown Editor
├── script.js
├── styles.css
└── index.html
├── 16-Pomodoro Timer
├── style.css
├── index.html
└── index.js
├── 51-File Uploader
├── styles.css
├── index.html
└── script.js
├── 41-Drawing App
├── styles.css
├── index.html
└── script.js
├── 53-QR Code Generator
├── styles.css
├── script.js
└── index.html
├── 73-2048
├── index.html
└── styles.css
├── 82-Keyboard Navigation Improvement
├── styles.css
└── index.html
├── 96-Memory Leak Detection
├── styles.css
├── index.html
└── script.js
├── 83-Contrast Checker
├── styles.css
├── index.html
└── readme.md
├── 97-Network Performance Analyzer
├── styles.css
├── index.html
└── script.js
├── 56-Voice Assistant
├── styles.css
├── index.html
└── script.js
├── 13-Memory Game
├── index.html
└── style.css
├── 28-AI-powered Recommendation System
├── index.html
└── script.js
├── 36-News Aggregator
├── style.css
├── index.html
└── index.js
├── 49-Color Palette Generator
├── styles.css
└── index.html
├── 71-Tic Tac Toe
├── index.html
└── styles.css
├── 85-Color Blindness Simulator
├── styles.css
└── index.html
├── 100-Code Splitting
├── styles.css
├── index.html
└── script.js
├── 86-Speech Recognition Interface
├── styles.css
└── index.html
├── eslint.config.mjs
├── 98-Minification and Bundling
├── styles.css
├── index.html
└── script.js
├── 99-Tree Shaking for Unused Code
├── styles.css
└── index.html
├── 93-Debouncing and Throttling Functions
├── styles.css
└── index.html
├── 46-Music Visualizer
├── styles.css
└── index.html
├── 72-Snake Game
├── styles.css
└── index.html
├── 35-Weather Forecast using OpenWeatherMap API
├── style.css
├── index.html
└── app.js
├── 25-Cryptocurrency Tracker
├── styles.css
└── index.html
├── 20-Blogging Platform
├── styles.css
├── index.html
└── script.js
├── 80-Platformer Game
├── style.css
└── index.html
├── 60-Clipboard Manager
├── styles.css
└── index.html
├── 10-Currency Converter
├── style.css
└── index.html
├── 11-Weather App
├── style.css
├── index.html
└── index.js
├── 66-Stock Market Tracker with Graphs
├── styles.css
└── index.html
├── 09-BMI Calculator
├── style.css
├── script.js
└── index.html
├── .gitignore
├── 01-To-Do List App
├── script.js
├── index.html
└── style.css
├── 78-Battleship
├── index.html
└── style.css
├── 67-Polls and Survey Data Visualization
├── styles.css
└── index.html
├── 14-Chat Application
├── style.css
├── index.html
└── index.js
├── 91-Code Profiler and Optimizer
├── styles.css
├── readme.md
├── script.js
└── index.html
├── 77-Memory Puzzle Game
├── index.html
└── style.css
├── 57-Note-taking App
├── index.html
└── styles.css
├── 22-E-commerce Website
├── index.html
├── styles.css
└── script.js
├── 52-Password Generator
├── styles.css
├── script.js
└── index.html
├── 50-Emoji Translator
├── styles.css
├── index.html
└── script.js
├── 59-Calendar
├── index.html
└── styles.css
├── 39-Random Joke Generator using Joke API
├── index.html
├── styles.css
└── script.js
├── 65-Network Traffic Analyzer
├── index.html
└── styles.css
├── 23-Real-time Chat Room
├── index.html
├── styles.css
└── script.js
├── 15-Interactive Quiz
├── index.html
└── style.css
├── 45-Text-based Adventure Game
├── index.html
└── styles.css
├── package.json
├── 27-Job Board Platform
├── script.js
├── style.css
└── index.html
├── 43-Interactive Storytelling
├── styles.css
├── index.html
└── script.js
├── 07-Basic Image Slider
├── index.js
└── style.css
├── 06-Random Quote Generator
├── index.html
└── index.js
├── tsconfig.json
├── 40-Recipe Finder using Food API
├── index.html
└── styles.css
├── 47-Meme Generator
├── script.js
└── styles.css
├── 21-Social Media Dashboard
├── index.html
├── styles.css
└── script.js
├── 87-Focus Management
├── index.html
├── styles.css
└── script.js
├── 79-Crossword Puzzle
├── index.html
└── style.css
├── 42-Virtual Piano
├── styles.css
└── index.html
├── 48-Virtual Pet
├── index.html
├── script.js
└── styles.css
├── 44-3D Cube Puzzle
├── index.html
├── script.js
└── styles.css
├── 02-Simple Calculator
├── style.css
└── index.html
├── 30-Video Streaming Platform
└── index.html
├── LICENSE
├── 19-Car Rental Website
├── styles.css
└── index.html
├── 26-Fitness Tracker
├── styles.css
└── index.html
├── 34-GitHub Profile Viewer
└── index.html
├── 03-Digital Clock
└── index.html
└── 31-Google Maps Integration
└── index.html
/38-NASA API for Astronomy Data/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/37-Currency Exchange Rates using API/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/37-Currency Exchange Rates using API/style.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/note.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | - Project thumbnail size
4 | 320 x 183
5 |
--------------------------------------------------------------------------------
/92-Lazy Loading Images/readme.md:
--------------------------------------------------------------------------------
1 | # Lazy Loading Images :art:
2 |
3 | loading...
4 |
--------------------------------------------------------------------------------
/screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/screen.png
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/screenshot.png
--------------------------------------------------------------------------------
/04-Tip Calculator/index.js:
--------------------------------------------------------------------------------
1 | function initApp() {
2 | console.log("init app");
3 | }
4 |
5 | initApp();
6 |
--------------------------------------------------------------------------------
/04-Tip Calculator/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
--------------------------------------------------------------------------------
/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/public/logo.png
--------------------------------------------------------------------------------
/05-Temperature Converter/index.js:
--------------------------------------------------------------------------------
1 | function initApp() {
2 | console.log("init App");
3 | }
4 |
5 | initApp();
6 |
--------------------------------------------------------------------------------
/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/src/app/favicon.ico
--------------------------------------------------------------------------------
/05-Temperature Converter/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
--------------------------------------------------------------------------------
/public/100PlusJS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/public/100PlusJS.png
--------------------------------------------------------------------------------
/75-Chess Game/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "express": "^4.18.2",
4 | "socket.io": "^4.7.4"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/public/100PlusJS_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/public/100PlusJS_logo.png
--------------------------------------------------------------------------------
/76-Hangman/images/hangman-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/76-Hangman/images/hangman-2.png
--------------------------------------------------------------------------------
/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: {
3 | "@tailwindcss/postcss": {},
4 | },
5 | };
6 |
7 | export default config;
8 |
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/92-Lazy Loading Images/images/image1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/92-Lazy Loading Images/images/image1.jpg
--------------------------------------------------------------------------------
/92-Lazy Loading Images/images/image2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/92-Lazy Loading Images/images/image2.jpg
--------------------------------------------------------------------------------
/92-Lazy Loading Images/images/image3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pradipchaudhary/100-Plus-JavaScript-Projects/HEAD/92-Lazy Loading Images/images/image3.jpg
--------------------------------------------------------------------------------
/64-Geographical Data Visualization/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | }
5 |
6 | #map {
7 | height: 100vh;
8 | width: 100%;
9 | }
10 |
--------------------------------------------------------------------------------
/70-Social Media Analytics Dashboard/app.js:
--------------------------------------------------------------------------------
1 | // You can add JavaScript here to fetch and update real-time data from social media APIs
2 | // For this example, we're keeping it static.
3 |
--------------------------------------------------------------------------------
/90-Responsive Design for Accessibility/script.js:
--------------------------------------------------------------------------------
1 | // You can add JavaScript functionality here as needed
2 | // For example, handling responsive navigation or other dynamic behavior
3 |
--------------------------------------------------------------------------------
/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactCompiler: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/69-Population Density Map/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | #map {
8 | height: 100vh;
9 | width: 100%;
10 | }
11 |
--------------------------------------------------------------------------------
/58-Browser Extension/popup/content.js:
--------------------------------------------------------------------------------
1 | chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
2 | if (request.action === "content-script") {
3 | alert(request.message);
4 | }
5 | });
6 |
--------------------------------------------------------------------------------
/61-Interactive Charts/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | #chart-container {
8 | width: 80vw;
9 | height: 60vh;
10 | margin: 20px auto;
11 | border: 1px solid #ccc;
12 | }
13 |
--------------------------------------------------------------------------------
/62-Heatmap Generator/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | #heatmap-container {
8 | width: 80vw;
9 | height: 60vh;
10 | margin: 20px auto;
11 | border: 1px solid #ccc;
12 | }
13 |
--------------------------------------------------------------------------------
/58-Browser Extension/popup/popup.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | padding: 10px;
4 | }
5 |
6 | .container {
7 | text-align: center;
8 | }
9 |
10 | button {
11 | padding: 8px 16px;
12 | font-size: 16px;
13 | cursor: pointer;
14 | }
15 |
--------------------------------------------------------------------------------
/89-Aria Role Implementation/script.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | const alertBtn = document.getElementById("alertBtn");
3 |
4 | alertBtn.addEventListener("click", function () {
5 | alert("Hello, this is an alert!");
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/17-Music Player/index.js:
--------------------------------------------------------------------------------
1 | const audio = document.getElementById("audio");
2 |
3 | function playPause() {
4 | if (audio.paused) {
5 | audio.play();
6 | } else {
7 | audio.pause();
8 | }
9 | }
10 |
11 | function stop() {
12 | audio.pause();
13 | audio.currentTime = 0;
14 | }
15 |
--------------------------------------------------------------------------------
/84-Text Resize/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | }
4 |
5 | #app {
6 | max-width: 600px;
7 | margin: 0 auto;
8 | padding: 20px;
9 | text-align: center;
10 | }
11 |
12 | #textToResize {
13 | font-size: 16px;
14 | transition: font-size 0.3s ease-in-out;
15 | }
16 |
--------------------------------------------------------------------------------
/88-High-Contrast Mode/styles-high-contrast.css:
--------------------------------------------------------------------------------
1 | body.high-contrast {
2 | background-color: #000;
3 | color: #fff;
4 | }
5 |
6 | body.high-contrast button {
7 | background-color: #fff;
8 | color: #000;
9 | }
10 |
11 | body.high-contrast p {
12 | border: 2px solid #fff;
13 | padding: 10px;
14 | }
15 |
--------------------------------------------------------------------------------
/95-Reducing DOM Manipulations/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | button {
15 | padding: 5px 10px;
16 | }
17 |
--------------------------------------------------------------------------------
/54-Unit Converter/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | display: flex;
4 | justify-content: center;
5 | align-items: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | input,
15 | select,
16 | button {
17 | margin: 10px;
18 | }
19 |
--------------------------------------------------------------------------------
/63-Dashboard with Graphs and Metrics/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | }
4 |
5 | .chart-container {
6 | height: 300px;
7 | border: 1px solid #ddd;
8 | margin-bottom: 20px;
9 | }
10 |
11 | .metric-container {
12 | padding: 20px;
13 | border: 1px solid #ddd;
14 | margin-bottom: 20px;
15 | }
16 |
--------------------------------------------------------------------------------
/58-Browser Extension/popup/popup.js:
--------------------------------------------------------------------------------
1 | document.getElementById("clickMeButton").addEventListener("click", function () {
2 | chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
3 | chrome.tabs.sendMessage(tabs[0].id, {
4 | action: "content-script",
5 | message: "Hello from popup!",
6 | });
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | import Header from "@/components/Header";
2 | import Hero from "@/components/Hero";
3 |
4 | export default function Home() {
5 | return (
6 |
7 | {/* header */}
8 |
9 | {/* main */}
10 |
11 |
12 |
13 |
14 |
15 | );
16 | }
17 |
--------------------------------------------------------------------------------
/24-Photo Editing Tool/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | margin: 0;
4 | padding: 20px;
5 | text-align: center;
6 | }
7 |
8 | canvas {
9 | border: 1px solid #ddd;
10 | border-radius: 5px;
11 | margin: 10px 0;
12 | }
13 |
14 | button {
15 | padding: 10px;
16 | margin: 5px;
17 | cursor: pointer;
18 | }
19 |
--------------------------------------------------------------------------------
/81-Screen Reader Compatibility/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | }
4 |
5 | #app {
6 | max-width: 600px;
7 | margin: 0 auto;
8 | padding: 20px;
9 | text-align: center;
10 | }
11 |
12 | button {
13 | padding: 10px;
14 | font-size: 16px;
15 | }
16 |
17 | #content {
18 | display: none;
19 | margin-top: 20px;
20 | }
21 |
--------------------------------------------------------------------------------
/88-High-Contrast Mode/script.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | const toggleBtn = document.getElementById("toggleBtn");
3 | const body = document.body;
4 |
5 | toggleBtn.addEventListener("click", toggleHighContrast);
6 |
7 | function toggleHighContrast() {
8 | body.classList.toggle("high-contrast");
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/94-Caching Mechanism/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | input {
15 | padding: 5px;
16 | margin-right: 10px;
17 | }
18 |
19 | button {
20 | padding: 5px 10px;
21 | }
22 |
--------------------------------------------------------------------------------
/68-Visualizing COVID-19 Dat/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | padding: 0;
5 | background-color: #f4f4f4;
6 | }
7 |
8 | .container {
9 | max-width: 800px;
10 | margin: 20px auto;
11 | padding: 20px;
12 | background-color: #fff;
13 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
14 | }
15 |
16 | canvas {
17 | margin-top: 20px;
18 | }
19 |
--------------------------------------------------------------------------------
/84-Text Resize/app.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | const fontSizeInput = document.getElementById("fontSize");
3 | const textToResize = document.getElementById("textToResize");
4 |
5 | fontSizeInput.addEventListener("input", function () {
6 | const newSize = fontSizeInput.value + "px";
7 | textToResize.style.fontSize = newSize;
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/08-Countdown Timer/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .timer-container {
11 | text-align: center;
12 | }
13 |
14 | #timer {
15 | font-size: 2em;
16 | margin-bottom: 20px;
17 | }
18 |
19 | button {
20 | font-size: 1em;
21 | margin: 5px;
22 | }
23 |
--------------------------------------------------------------------------------
/17-Music Player/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | display: flex;
4 | flex-direction: column;
5 | align-items: center;
6 | justify-content: center;
7 | height: 100vh;
8 | margin: 0;
9 | }
10 |
11 | h1 {
12 | margin-bottom: 20px;
13 | }
14 |
15 | #audio-controls {
16 | display: flex;
17 | flex-direction: column;
18 | align-items: center;
19 | gap: 10px;
20 | }
21 |
--------------------------------------------------------------------------------
/55-Markdown Editor/script.js:
--------------------------------------------------------------------------------
1 | document
2 | .getElementById("markdownInput")
3 | .addEventListener("input", updateMarkdown);
4 |
5 | function updateMarkdown() {
6 | const markdownInput = document.getElementById("markdownInput").value;
7 | const markdownPreview = document.getElementById("markdownPreview");
8 | const htmlOutput = marked(markdownInput);
9 |
10 | markdownPreview.innerHTML = htmlOutput;
11 | }
12 |
--------------------------------------------------------------------------------
/16-Pomodoro Timer/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | display: flex;
4 | flex-direction: column;
5 | align-items: center;
6 | justify-content: center;
7 | height: 100vh;
8 | margin: 0;
9 | }
10 |
11 | h1 {
12 | margin-bottom: 20px;
13 | }
14 |
15 | #timer {
16 | font-size: 2em;
17 | margin-bottom: 20px;
18 | }
19 |
20 | #controls {
21 | display: flex;
22 | gap: 10px;
23 | }
24 |
--------------------------------------------------------------------------------
/51-File Uploader/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | display: flex;
4 | justify-content: center;
5 | align-items: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | input {
15 | margin: 10px 0;
16 | }
17 |
18 | progress {
19 | width: 100%;
20 | margin: 10px 0;
21 | }
22 |
23 | #status {
24 | margin: 10px 0;
25 | }
26 |
--------------------------------------------------------------------------------
/41-Drawing App/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | display: flex;
5 | align-items: center;
6 | justify-content: center;
7 | height: 100vh;
8 | background-color: #f4f4f4;
9 | }
10 |
11 | .container {
12 | background-color: #fff;
13 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
14 | }
15 |
16 | #drawingCanvas {
17 | border: 1px solid #ccc;
18 | cursor: crosshair;
19 | }
20 |
--------------------------------------------------------------------------------
/53-QR Code Generator/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | display: flex;
4 | justify-content: center;
5 | align-items: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | label {
15 | margin-top: 10px;
16 | display: block;
17 | }
18 |
19 | input {
20 | margin: 10px 0;
21 | }
22 |
23 | #qrcode {
24 | margin-top: 20px;
25 | }
26 |
--------------------------------------------------------------------------------
/73-2048/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 2048 Game || 100 JavaScript Projects
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/82-Keyboard Navigation Improvement/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | }
4 |
5 | #app {
6 | max-width: 600px;
7 | margin: 0 auto;
8 | padding: 20px;
9 | text-align: center;
10 | }
11 |
12 | .navButton {
13 | padding: 10px;
14 | font-size: 16px;
15 | cursor: pointer;
16 | }
17 |
18 | #content {
19 | margin-top: 20px;
20 | border: 2px solid #ccc;
21 | padding: 10px;
22 | outline: none;
23 | }
24 |
--------------------------------------------------------------------------------
/92-Lazy Loading Images/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | main {
8 | margin: 20px;
9 | }
10 |
11 | .image-container {
12 | display: flex;
13 | flex-wrap: wrap;
14 | gap: 10px;
15 | }
16 |
17 | img {
18 | width: 100%;
19 | max-width: 300px;
20 | height: auto;
21 | border: 1px solid #ddd;
22 | border-radius: 8px;
23 | margin-bottom: 10px;
24 | }
25 |
--------------------------------------------------------------------------------
/96-Memory Leak Detection/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | display: flex;
4 | align-items: center;
5 | justify-content: center;
6 | height: 100vh;
7 | margin: 0;
8 | }
9 |
10 | .container {
11 | text-align: center;
12 | }
13 |
14 | button {
15 | padding: 10px 20px;
16 | font-size: 16px;
17 | margin: 10px;
18 | }
19 |
20 | #memoryUsage {
21 | margin-top: 20px;
22 | font-size: 18px;
23 | }
24 |
--------------------------------------------------------------------------------
/88-High-Contrast Mode/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | transition: background-color 0.3s, color 0.3s;
4 | }
5 |
6 | .container {
7 | text-align: center;
8 | padding: 20px;
9 | border-radius: 8px;
10 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
11 | }
12 |
13 | button {
14 | padding: 10px 20px;
15 | font-size: 16px;
16 | cursor: pointer;
17 | }
18 |
19 | button:hover {
20 | background-color: #ddd;
21 | }
22 |
--------------------------------------------------------------------------------
/83-Contrast Checker/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | }
4 |
5 | #app {
6 | max-width: 600px;
7 | margin: 0 auto;
8 | padding: 20px;
9 | text-align: center;
10 | }
11 |
12 | .colorInput {
13 | margin-bottom: 10px;
14 | padding: 5px;
15 | font-size: 16px;
16 | }
17 |
18 | #result {
19 | margin-top: 20px;
20 | }
21 |
22 | .pass {
23 | color: #4caf50;
24 | }
25 |
26 | .fail {
27 | color: #ff5733;
28 | }
29 |
--------------------------------------------------------------------------------
/89-Aria Role Implementation/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: "Arial", sans-serif;
3 | text-align: center;
4 | padding: 20px;
5 | }
6 |
7 | #main {
8 | background-color: #f4f4f4;
9 | padding: 20px;
10 | border-radius: 8px;
11 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
12 | }
13 |
14 | button {
15 | padding: 10px 20px;
16 | font-size: 16px;
17 | cursor: pointer;
18 | }
19 |
20 | button:hover {
21 | background-color: #ddd;
22 | }
23 |
--------------------------------------------------------------------------------
/90-Responsive Design for Accessibility/readme.md:
--------------------------------------------------------------------------------
1 | # Accessibility Considerations:
2 |
3 | - Use semantic HTML elements (