├── .gitignore ├── assests ├── img │ ├── html.png │ ├── star.png │ ├── food.jpeg │ ├── cartoon1.png │ ├── cartoon2.png │ ├── cartoon3.png │ ├── cartoon4.png │ ├── cartoon5.png │ ├── cartoon6.png │ ├── cartoon7.png │ ├── cartoon8.png │ ├── IT1IndexImage.png │ └── background-image.jpg ├── icon │ ├── icon.png │ ├── githubIcon.ico │ ├── youtubeIcon.ico │ ├── facebookIcon.ico │ └── linkedInBlueIcon.ico ├── audio │ └── music-track-01.mp3 └── video │ └── burgerEatVideo.mp4 ├── css ├── lesson-css-base.css ├── lesson-css-margins.css ├── lesson-css-specificity.css ├── lesson-css-media-queries.css ├── styles.css ├── lesson-dom-handling.css ├── lesson-css-units.css ├── lesson-element-selectors.css ├── lesson-pseudo.css ├── lesson-css-transitions.css ├── lesson-css-position.css ├── lesson-css-borders.css ├── lesson-validation-jQuery.css ├── lesson-css-flexbox.css ├── lesson-css-selectors.css ├── lesson-event-listeners.css └── lesson-css-animations.css ├── js ├── EventsJQuery.js ├── script.js ├── lesson-js.js ├── js-variables.js ├── Constructor.js ├── js-dynamic-datatypes.js ├── js-arrays.js ├── FunctionHoisting.js ├── LetVsVarVsConst.js ├── JsFunctions.js ├── EventListeners.js ├── DOMHandling.js ├── LessonValidationJQuery.js ├── VariableHoisting.js ├── primitive-data-types.js ├── js-objects.js ├── Timers.js ├── ControlFlows.js ├── ArrowFunctions.js ├── TypeOfFunctions.js ├── ElementSelectors.js └── ArrayBuiltInFunctions.js ├── exercises ├── js │ ├── JsExercise04.js │ ├── JsExercise05.js │ ├── Exercise12.js │ ├── JsExercise02.js │ ├── JsExercise01.js │ └── JsExercise03.js ├── css │ ├── exercise-05.css │ ├── exercise-12.css │ ├── exercise-04.css │ ├── exercise-07.css │ ├── exercise-06.css │ ├── exercise-09.css │ ├── exercise-11.css │ ├── exercise-01.css │ ├── exercise-08.css │ └── exercise-10.css └── pages │ ├── exercise-05.html │ ├── exercise-12.html │ ├── exercise-09.html │ ├── exercise-11.html │ ├── exercise-02.html │ ├── exercise-03.html │ ├── exercise-04.html │ ├── exercise-08.html │ ├── exercise-06.html │ ├── exercise-10.html │ └── exercise-07.html ├── pages ├── lesson-css-transitions.html ├── lesson-css-animation.html ├── lesson-js.html ├── lesson-dom-handling.html ├── lesson-css-important.html ├── lesson-css-borders.html ├── lesson-event-listeners.html ├── lesson-jquery-event-listeners.html ├── lesson-css-media-queries.html ├── lesson-element-selectors.html ├── lesson-css-grid.html ├── lesson-css-flexbox.html ├── lesson-multimedia.html ├── lesson-bootstrap-guide.html ├── lesson-html-forms.html ├── lesson-css-base.html ├── lesson-css-specificity.html ├── lesson-css-units.html ├── lesson-bootstrap-grid.html ├── lesson-jQuery-basics.html ├── lesson-validation-jQuery.html ├── lesson-css-background.html ├── lesson-list.html ├── lesson-css-grid-layout.html ├── lesson-pseudo.html ├── lesson-css-margins.html ├── styled-form.html ├── lesson-css-float.html ├── lesson-css-box-model.html ├── lesson-html-semantics.html ├── lesson-structural.html ├── lesson-html-tables.html ├── lesson-css-text.html ├── lesson-bootstrap.html ├── lesson-css-selectors.html └── lesson-css-position.html ├── index.html ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode -------------------------------------------------------------------------------- /assests/img/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/html.png -------------------------------------------------------------------------------- /assests/img/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/star.png -------------------------------------------------------------------------------- /assests/icon/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/icon/icon.png -------------------------------------------------------------------------------- /assests/img/food.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/food.jpeg -------------------------------------------------------------------------------- /assests/img/cartoon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon1.png -------------------------------------------------------------------------------- /assests/img/cartoon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon2.png -------------------------------------------------------------------------------- /assests/img/cartoon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon3.png -------------------------------------------------------------------------------- /assests/img/cartoon4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon4.png -------------------------------------------------------------------------------- /assests/img/cartoon5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon5.png -------------------------------------------------------------------------------- /assests/img/cartoon6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon6.png -------------------------------------------------------------------------------- /assests/img/cartoon7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon7.png -------------------------------------------------------------------------------- /assests/img/cartoon8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/cartoon8.png -------------------------------------------------------------------------------- /assests/icon/githubIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/icon/githubIcon.ico -------------------------------------------------------------------------------- /assests/icon/youtubeIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/icon/youtubeIcon.ico -------------------------------------------------------------------------------- /assests/icon/facebookIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/icon/facebookIcon.ico -------------------------------------------------------------------------------- /assests/img/IT1IndexImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/IT1IndexImage.png -------------------------------------------------------------------------------- /assests/audio/music-track-01.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/audio/music-track-01.mp3 -------------------------------------------------------------------------------- /assests/icon/linkedInBlueIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/icon/linkedInBlueIcon.ico -------------------------------------------------------------------------------- /assests/img/background-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/img/background-image.jpg -------------------------------------------------------------------------------- /assests/video/burgerEatVideo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gayanukabulegoda/Internet-Technologies-01/HEAD/assests/video/burgerEatVideo.mp4 -------------------------------------------------------------------------------- /css/lesson-css-base.css: -------------------------------------------------------------------------------- 1 | h3 { 2 | color: blue; 3 | background-color: darkkhaki; 4 | } 5 | .heading_3_p { 6 | color: brown; 7 | } 8 | h2 { 9 | color: red; 10 | } 11 | -------------------------------------------------------------------------------- /js/EventsJQuery.js: -------------------------------------------------------------------------------- 1 | $("#box").hover( 2 | function () { 3 | $(this).css("background-color", "red"); 4 | }, 5 | function () { 6 | $(this).css("background-color", "black"); 7 | } 8 | ); 9 | -------------------------------------------------------------------------------- /exercises/js/JsExercise04.js: -------------------------------------------------------------------------------- 1 | // Timers Exercise 2 | // print 1 to 10 with 2s interval 3 | 4 | let count = 0; 5 | let interval = setInterval(function () { 6 | console.log(count++); 7 | if (count === 10) { 8 | clearInterval(interval); 9 | } 10 | }, 2000); 11 | -------------------------------------------------------------------------------- /js/script.js: -------------------------------------------------------------------------------- 1 | document.getElementById("img").addEventListener("mouseover", function () { 2 | document.getElementById("p").innerText = "Click Here to Continue!"; 3 | }); 4 | 5 | document.getElementById("img").addEventListener("mouseout", function () { 6 | document.getElementById("p").innerText = ""; 7 | }); 8 | -------------------------------------------------------------------------------- /exercises/js/JsExercise05.js: -------------------------------------------------------------------------------- 1 | // Timers Exercise 2 | // print ABCD many times with 0.5s interval repaetedly until 5s 3 | 4 | let interval = setInterval( 5 | function () { 6 | console.log("ABCD"); 7 | }, 500 8 | ) 9 | 10 | setTimeout(() => { 11 | clearInterval(interval) 12 | }, 5000); 13 | -------------------------------------------------------------------------------- /css/lesson-css-margins.css: -------------------------------------------------------------------------------- 1 | /* body { 2 | margin: 0; 3 | } */ 4 | 5 | .box { 6 | border: 1px; 7 | margin: 25px; 8 | width: 500px; 9 | height: 350px; 10 | color: white; 11 | } 12 | 13 | .box-1 { 14 | padding: 25px; 15 | background-color: red; 16 | } 17 | 18 | .box-2 { 19 | padding: 15px; 20 | background-color: green; 21 | } 22 | -------------------------------------------------------------------------------- /exercises/css/exercise-05.css: -------------------------------------------------------------------------------- 1 | .box-1 { 2 | width: 500px; 3 | height: 500px; 4 | background-color: darkslateblue; 5 | position: relative; 6 | top: 100px; 7 | left: 100px; 8 | } 9 | 10 | .box-2 { 11 | width: 150px; 12 | height: 150px; 13 | background-color: cadetblue; 14 | position: absolute; 15 | top: 25px; 16 | left: 25px; 17 | } 18 | -------------------------------------------------------------------------------- /exercises/css/exercise-12.css: -------------------------------------------------------------------------------- 1 | body { 2 | height: 100vh; 3 | margin: 0; 4 | display: flex; 5 | justify-content: center; 6 | align-items: center; 7 | background: radial-gradient(lightblue, white); 8 | } 9 | 10 | #numberField { 11 | width: 800px; 12 | height: 100px; 13 | font-size: 60px; 14 | border-radius: 20px; 15 | border: none; 16 | } 17 | -------------------------------------------------------------------------------- /exercises/pages/exercise-05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise - 05 7 | 8 | 9 | 10 |
11 |
12 |
13 | 14 | -------------------------------------------------------------------------------- /pages/lesson-css-transitions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Transitions 7 | 8 | 9 | 10 |
11 |

Hellow World!

12 | 13 | -------------------------------------------------------------------------------- /css/lesson-css-specificity.css: -------------------------------------------------------------------------------- 1 | p { 2 | color: black; 3 | } 4 | 5 | .content { 6 | color: brown; 7 | } 8 | 9 | #content-id { 10 | color: darkgreen; 11 | } 12 | 13 | h4 { 14 | color: blueviolet; 15 | } 16 | 17 | .card-title { 18 | color: darkred; 19 | } 20 | 21 | #recipe-card-title { 22 | color: darkslategrey; 23 | } 24 | 25 | div h4 { 26 | color: cadetblue; 27 | } 28 | 29 | div .card-title { 30 | color: darkolivegreen; 31 | } 32 | 33 | div #recipe-card-title { 34 | color: blueviolet; 35 | } 36 | -------------------------------------------------------------------------------- /pages/lesson-css-animation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Animation 7 | 8 | 9 | 10 |
11 |
12 | cartoon-image 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /exercises/css/exercise-04.css: -------------------------------------------------------------------------------- 1 | .main-card { 2 | display: flex; 3 | } 4 | 5 | img { 6 | width: 50%; 7 | object-fit: cover; 8 | border-radius: 12px; 9 | } 10 | 11 | .card { 12 | height: 430px; 13 | width: 400px; 14 | margin: 12px; 15 | padding: 12px 16px; 16 | border: 1px solid black; 17 | border-radius: 12px; 18 | background-color: wheat; 19 | } 20 | 21 | .detail { 22 | border: 1px solid black; 23 | border-radius: 12px; 24 | padding: 8px; 25 | } 26 | 27 | .top-cartoon { 28 | color: red; 29 | } 30 | -------------------------------------------------------------------------------- /exercises/pages/exercise-12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise - 12 7 | 8 | 9 | 10 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /css/lesson-css-media-queries.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | background-color: black; 4 | font-family: sans-serif; 5 | } 6 | 7 | h1 { 8 | margin: 2%; 9 | color: lightpink; 10 | } 11 | 12 | p { 13 | margin: 2%; 14 | color: lightskyblue; 15 | } 16 | 17 | /* @media screen and (max-width: 500px) { 18 | h1 { 19 | color: lightblue; 20 | } 21 | p { 22 | color: lightpink; 23 | } 24 | } */ 25 | 26 | @media screen and (min-width: 500px) { 27 | h1 { 28 | color: lightgreen; 29 | } 30 | p { 31 | color: lightyellow; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /js/lesson-js.js: -------------------------------------------------------------------------------- 1 | console.log("Hellow Universe!!"); 2 | 3 | console.log(""); 4 | 5 | console.log(10 + 20); 6 | console.log(20 - 10); 7 | console.log(10 * 20); 8 | console.log(20 / 10); 9 | 10 | console.log(""); 11 | 12 | console.log("Add : " + (10 + 20)); 13 | console.log("Sub : " + (20 - 10)); 14 | console.log("Divide : " + 20 / 10); 15 | console.log("Multiply : " + 10 * 20); 16 | 17 | console.log(""); 18 | 19 | console.log("Add : ", 10 + 20); 20 | console.log("Sub : ", 20 - 10); 21 | console.log("Divide : ", 20 / 10); 22 | console.log("Multiply : ", 10 * 20); 23 | -------------------------------------------------------------------------------- /pages/lesson-js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Javascript 7 | 8 | 9 |

Javascript Basics

10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /exercises/pages/exercise-09.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise-09 7 | 8 | 9 | 10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /pages/lesson-dom-handling.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - DOM Handling 7 | 8 | 9 | 10 | 11 |
12 |
13 |
14 |
15 | cartoon-image 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /pages/lesson-css-important.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Important 7 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | height: 100vh; 3 | background: radial-gradient(red, silver); 4 | font-family: monospace; 5 | 6 | display: flex; 7 | justify-content: center; 8 | align-items: center; 9 | } 10 | 11 | a { 12 | display: flex; 13 | justify-content: center; 14 | align-items: center; 15 | } 16 | 17 | img { 18 | width: 75%; 19 | object-fit: cover; 20 | transition: all ease 0.5s; 21 | } 22 | 23 | p { 24 | position: absolute; 25 | font-size: 110%; 26 | font-weight: bold; 27 | } 28 | 29 | img:hover { 30 | transform: scale(1.05); 31 | cursor: pointer; 32 | border: 10px solid black; 33 | border-radius: 12px; 34 | } 35 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Internet Technologies 01 7 | 8 | 9 | 10 | 11 | custom-designed-image 17 |

18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /exercises/css/exercise-07.css: -------------------------------------------------------------------------------- 1 | .container { 2 | width: 90rem; 3 | height: 50rem; 4 | display: grid; 5 | grid-template-columns: repeat(3, 1fr); 6 | /* column-gap: 12px; 7 | row-gap: 12px; */ 8 | gap: 12px; 9 | } 10 | 11 | .container > div { 12 | border: 2px solid black; 13 | border-radius: 12px; 14 | text-align: justify; 15 | padding: 7px; 16 | background-color: linen; 17 | } 18 | 19 | .container > div:nth-child(5) { 20 | display: grid; 21 | grid-template-columns: repeat(3, 1fr); 22 | } 23 | 24 | .nested > div { 25 | border: 1px solid black; 26 | padding: 8px; 27 | margin: 2px; 28 | border-radius: 12px; 29 | background-color: lightgrey; 30 | } 31 | -------------------------------------------------------------------------------- /pages/lesson-css-borders.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Borders 7 | 8 | 9 | 10 |

CSS Borders

11 |

12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid autem 13 | asperiores illum quas! Illum culpa quam magni eligendi consequuntur! 14 | Dolorem asperiores facere nesciunt laborum fugit maiores perferendis rem 15 | sapiente dolores! 16 |

17 | 18 | 19 | -------------------------------------------------------------------------------- /css/lesson-dom-handling.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | height: 100vh; 4 | background-color: lightgoldenrodyellow; 5 | font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 6 | Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; 7 | display: flex; 8 | } 9 | 10 | .container { 11 | width: 50%; 12 | height: 100%; 13 | display: flex; 14 | justify-content: center; 15 | align-items: center; 16 | } 17 | 18 | #box { 19 | width: 350px; 20 | height: 350px; 21 | border: 2px solid; 22 | border-radius: 26px; 23 | font-size: large; 24 | 25 | display: flex; 26 | justify-content: center; 27 | align-items: center; 28 | } 29 | -------------------------------------------------------------------------------- /exercises/js/Exercise12.js: -------------------------------------------------------------------------------- 1 | // let value = document.getElementById("numberField"); 2 | 3 | // value.addEventListener("input", () => { 4 | // let inputValue = value.value; 5 | // if (!/^\d+$/.test(inputValue)) { 6 | // alert("Please Input Numbers Only!"); 7 | // value.value = inputValue.replace(/\D/g, ""); // Remove non-numeric characters 8 | // } 9 | // }); 10 | 11 | // ============== numbers only calculation ============== 12 | document.getElementById("numberField").addEventListener("keydown", function (event) { 13 | console.log(event.keyCode); 14 | if (!(event.keyCode >= 48 && event.keyCode <= 57)) { 15 | event.preventDefault() 16 | alert("Numbers Only !!!") 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /js/js-variables.js: -------------------------------------------------------------------------------- 1 | /* 2 | keywords use for variables defining in JavaScript 3 | 1. var 4 | 2. let 5 | 3. const 6 | */ 7 | 8 | let firstName = "Nisal" 9 | let lastName = "Perera" 10 | 11 | var age = 18; 12 | 13 | const salary = 50000.00 14 | // salary = 6000 15 | 16 | console.log(firstName + " " + lastName) 17 | 18 | console.log(firstName, lastName) 19 | 20 | /* 21 | IMPORTANT POINTS 22 | 23 | 1. variables can not be a reserved word 24 | 2. variable name should be meaningful 25 | 3. variable name can not start with numbers 26 | 4. witihin variable name, there can not contain spaces or hyphens (-) 27 | (can use camel case or snake case) 28 | 29 | 5. variables are case sensitive 30 | */ 31 | -------------------------------------------------------------------------------- /css/lesson-css-units.css: -------------------------------------------------------------------------------- 1 | .box { 2 | background: linear-gradient(to right, gold, black); 3 | color: black; 4 | border: 1px solid black; 5 | height: 200px; 6 | margin-top: 8px; 7 | } 8 | 9 | .box-pixels { 10 | width: 400px; 11 | } 12 | 13 | .box-percentage { 14 | width: 50%; 15 | } 16 | 17 | .container { 18 | width: 400px; 19 | height: 200px; 20 | border: 1px solid black; 21 | } 22 | 23 | .box-1 { 24 | width: 100px; 25 | height: 100px; 26 | background-color: gold; 27 | } 28 | 29 | .box-2 { 30 | width: 50%; 31 | background-color: black; 32 | height: 100px; 33 | } 34 | 35 | /* body { 36 | width: 400px; 37 | border: 1px solid black; 38 | } */ 39 | 40 | .box-3 { 41 | width: 50vw; 42 | height: 100px; 43 | } 44 | -------------------------------------------------------------------------------- /js/Constructor.js: -------------------------------------------------------------------------------- 1 | /* Constructor Function */ 2 | /* 3 | function Person(name, age, phone, email) { 4 | this.name = name 5 | this.age = age 6 | this.phone = phone 7 | this.email = email 8 | } 9 | */ 10 | 11 | /* Above constructor function can be converted to a class declaration. */ 12 | 13 | class Person { 14 | constructor(name, age, phone, email) { 15 | this.name = name; 16 | this.age = age; 17 | this.phone = phone; 18 | this.email = email; 19 | } 20 | } 21 | 22 | let person = new Person("Kamal", 40, "0773627367", "kamal@gmail.com"); 23 | console.log(person, "\n"); 24 | console.log("Name :", person.name); 25 | console.log("Age :", person.age); 26 | console.log("Phone :", person.phone); 27 | console.log("Email :", person.email); 28 | -------------------------------------------------------------------------------- /pages/lesson-event-listeners.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Event Listeners 7 | 8 | 9 | 10 |
11 | 12 |
13 | 14 |
15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /css/lesson-element-selectors.css: -------------------------------------------------------------------------------- 1 | .container { 2 | width: 100vw; 3 | height: 60vh; 4 | } 5 | 6 | .block { 7 | height: 50%; 8 | display: flex; 9 | justify-content: center; 10 | align-items: center; 11 | } 12 | 13 | .button-block { 14 | gap: 3%; 15 | } 16 | 17 | .box-block { 18 | gap: 2%; 19 | } 20 | 21 | .box { 22 | display: flex; 23 | justify-content: center; 24 | align-items: center; 25 | font-size: x-large; 26 | } 27 | 28 | p { 29 | color: darkslategray; 30 | font-size: 250%; 31 | } 32 | 33 | #btnCalculate { 34 | width: 20rem; 35 | height: 10rem; 36 | } 37 | 38 | @keyframes body-background { 39 | 0%, 40 | 100% { 41 | background: radial-gradient(lightcyan, white); 42 | } 43 | 50% { 44 | background: radial-gradient(white, lightcyan); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /css/lesson-pseudo.css: -------------------------------------------------------------------------------- 1 | button { 2 | background-color: black; 3 | color: white; 4 | } 5 | 6 | /* Pseudo classes stylings */ 7 | button:hover { 8 | background-color: brown; 9 | cursor: pointer; 10 | } 11 | 12 | button:active { 13 | background-color: blueviolet; 14 | } 15 | 16 | li:first-child { 17 | color: darkgreen; 18 | } 19 | 20 | li:nth-child(3) { 21 | color: darkblue; 22 | } 23 | 24 | li:last-child { 25 | color: brown; 26 | } 27 | 28 | /* Pseudo element stylings */ 29 | p::before { 30 | content: "Read this...."; 31 | color: brown; 32 | } 33 | 34 | p::after { 35 | content: "....the End."; 36 | color: blueviolet; 37 | } 38 | 39 | p::first-letter { 40 | font-size: 30px; 41 | color: blue; 42 | } 43 | 44 | p::first-line { 45 | font-weight: bold; 46 | } 47 | -------------------------------------------------------------------------------- /js/js-dynamic-datatypes.js: -------------------------------------------------------------------------------- 1 | let testingVariable; 2 | console.log("Type of testingVariable : ", typeof testingVariable); // undefined 3 | 4 | testingVariable = "Nisal"; 5 | console.log("Type of testingVariable : ", typeof testingVariable); // string 6 | 7 | testingVariable = 678; 8 | console.log("Type of testingVariable : ", typeof testingVariable); // number 9 | 10 | testingVariable = undefined; 11 | console.log("Type of testingVariable : ", typeof testingVariable); // undefined 12 | 13 | testingVariable = true; 14 | console.log("Type of testingVariable : ", typeof testingVariable); // boolean 15 | 16 | console.log(""); 17 | 18 | if (typeof testingVariable == "string") { 19 | console.log("Type of testingVariable is String"); 20 | } else if (typeof testingVariable == "boolean") { 21 | console.log("Type of testingVariable is boolean"); 22 | } 23 | -------------------------------------------------------------------------------- /pages/lesson-jquery-event-listeners.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Events jQuery 7 | 8 | 25 | 26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /pages/lesson-css-media-queries.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Media Query 7 | 8 | 9 | 10 |

Media Queries

11 |

12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos, 13 | perferendis consequuntur repellat, maiores, cupiditate officiis ut facilis 14 | sunt enim voluptate assumenda minima excepturi voluptatibus. Perferendis, 15 | voluptate. Officia corporis adipisci eligendi. Modi minima nulla, amet 16 | commodi vel delectus voluptate aspernatur quas quae non sit expedita harum 17 | beatae, odit minus omnis dolorum. 18 |

19 | 20 | 21 | -------------------------------------------------------------------------------- /css/lesson-css-transitions.css: -------------------------------------------------------------------------------- 1 | .box { 2 | width: 100px; 3 | height: 100px; 4 | background-color: cadetblue; 5 | margin: 200px auto; 6 | 7 | /* transition-property: background-color; 8 | transition-duration: 2s; */ 9 | 10 | /* transition-property: width; 11 | transition-duration: 2s; 12 | transition-timing-function:ease-in; 13 | transition-delay: 1s; */ 14 | 15 | /* transition: width 2s ease-in 1s; */ 16 | 17 | /* transition-property: all; 18 | transition-duration: 2s; 19 | transition-timing-function: ease-in; 20 | transition-delay: 1s; */ 21 | 22 | transition: all 2s ease-in 1s; 23 | } 24 | 25 | .box:hover { 26 | width: 200px; 27 | height: 250px; 28 | background-color: brown; 29 | } 30 | 31 | .text { 32 | text-align: center; 33 | transition: all 2s ease-in-out 0.2s; 34 | } 35 | 36 | .text:hover { 37 | color: brown; 38 | font-size: 100px; 39 | font-style: italic; 40 | } 41 | -------------------------------------------------------------------------------- /exercises/js/JsExercise02.js: -------------------------------------------------------------------------------- 1 | let mark; 2 | let grade; 3 | 4 | function gradingSystem(mark) { 5 | if (mark > 89) grade = "A+"; 6 | else if (mark > 80) grade = "A-"; 7 | else if (mark > 74) grade = "A"; 8 | else if (mark > 64) grade = "B"; 9 | else if (mark > 54) grade = "C"; 10 | else if (mark > 34) grade = "S"; 11 | else if (mark < 35) grade = "F"; 12 | else grade = "Invalid!"; 13 | 14 | if (mark > 100) grade = "Invalid"; 15 | } 16 | 17 | function getStudentGrade(studentName, mark) { 18 | gradingSystem(mark); 19 | console.log(studentName, "'s", "Grade for", mark, "=>", grade); 20 | } 21 | 22 | getStudentGrade("Nisal", 92); 23 | getStudentGrade("Sumudu", 73); 24 | getStudentGrade("Yasith", 78); 25 | getStudentGrade("Ashen", 100); 26 | getStudentGrade("Aravinda", 12); 27 | getStudentGrade("Lokitha", 38); 28 | getStudentGrade("Janindu", 54); 29 | getStudentGrade("Manawadu", 62); 30 | getStudentGrade("Vimal", -10); 31 | -------------------------------------------------------------------------------- /exercises/css/exercise-06.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | h1 { 7 | text-align: center; 8 | } 9 | 10 | img { 11 | height: 40px; 12 | width: 40px; 13 | padding: 14px; 14 | object-fit: cover; 15 | border-radius: 100px; 16 | object-fit: cover; 17 | } 18 | 19 | .container { 20 | display: flex; 21 | justify-content: space-evenly; 22 | } 23 | 24 | .card { 25 | margin: 10px; 26 | border-radius: 12px; 27 | background-color: darkolivegreen; 28 | box-shadow: 3px 3px 8px darkcyan; 29 | } 30 | 31 | .box-1 { 32 | margin: 20px; 33 | padding: 10px; 34 | display: flex; 35 | border-radius: 12px; 36 | background-color: bisque; 37 | } 38 | 39 | .box-2 { 40 | margin: 20px; 41 | height: 16em; 42 | border-radius: 12px; 43 | background-color: white; 44 | } 45 | 46 | .box-1 p { 47 | padding-left: 9px; 48 | } 49 | 50 | .box-2 p { 51 | padding: 32px; 52 | text-align: left; 53 | text-overflow: clip; 54 | } 55 | -------------------------------------------------------------------------------- /pages/lesson-element-selectors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | JavaScript Element Selectors 7 | 8 | 9 | 10 | 11 |

JavaScript Element Selectors

12 | 13 |
14 |
15 | 18 | 19 | 22 |
23 | 24 |
25 |
1
26 |
2
27 |
3
28 |
29 |
30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /css/lesson-css-position.css: -------------------------------------------------------------------------------- 1 | .box-1 { 2 | width: 50vw; 3 | height: 50vh; 4 | border: 6px solid darkblue; 5 | background-color: black; 6 | 7 | /* position: static; 8 | top: 50px; 9 | left: 50px; */ 10 | 11 | /* position: relative; 12 | top: 50px; 13 | left: 50px; */ 14 | 15 | /* position: absolute; 16 | top: 50px; 17 | left: 50px; */ 18 | 19 | /* position: fixed; 20 | top: 50px; 21 | left: 50px; */ 22 | 23 | /* position: sticky; 24 | top: 50px; 25 | left: 50px; */ 26 | } 27 | .box-2 { 28 | width: 100px; 29 | height: 100px; 30 | border: 6px solid darkred; 31 | background-color: darkslategrey; 32 | 33 | /* position: static; 34 | top: 50px; 35 | left: 50px; */ 36 | 37 | /* position: relative; 38 | top: 50px; 39 | left: 50px; */ 40 | 41 | /* position: absolute; 42 | top: 50px; 43 | left: 50px; */ 44 | 45 | /* position: fixed; 46 | top: 50px; 47 | left: 50px; */ 48 | 49 | position: sticky; 50 | top: 50px; 51 | left: 50px; 52 | } 53 | -------------------------------------------------------------------------------- /pages/lesson-css-grid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Grid 7 | 26 | 27 | 28 |
29 |
Box 1
30 |
Box 2
31 |
Box 3
32 |
Box 4
33 |
Box 5
34 |
Box 6
35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /pages/lesson-css-flexbox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS FlexBox 7 | 8 | 9 | 10 |
11 |
1
12 |
2
13 |
3
14 |
4
15 |
5
16 |
6
17 |
7
18 |
8
19 |
9
20 |
10
21 |
11
22 |
12
23 |
13
24 |
14
25 |
15
26 |
16
27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /css/lesson-css-borders.css: -------------------------------------------------------------------------------- 1 | p { 2 | /* border: 1px solid rebeccapurple; */ 3 | /* border-width: 8px; */ 4 | /* border-style: solid; */ 5 | /* border-color: rebeccapurple; */ 6 | 7 | /* border-top-width: 5px; 8 | border-right-width: 15px; 9 | border-bottom-width: 20px; 10 | border-left-width: 15px; */ 11 | 12 | /* border-top-color: blueviolet; 13 | border-right-color: orange; 14 | border-bottom-color: brown; 15 | border-left-color: green; */ 16 | 17 | /* border-top-style: dashed; 18 | border-right-style: solid; 19 | border-bottom-style: double; 20 | border-left-style: groove; */ 21 | 22 | /* border-radius: 20px; */ 23 | /* border-top-left-radius: 15px; 24 | border-top-right-radius: 20px; 25 | border-bottom-left-radius: 12px; 26 | border-bottom-right-radius: 16px; */ 27 | 28 | border: 2px solid black; 29 | box-shadow: 5px 5px 5px blueviolet; 30 | /* padding: 16px; */ 31 | 32 | /* padding-top: 16px; 33 | padding-right: 14px; 34 | padding-bottom: 18px; 35 | padding-left: 20px; */ 36 | 37 | /* padding: 16px 14px 18px 20px; */ 38 | 39 | padding: 10px 20px; 40 | } 41 | -------------------------------------------------------------------------------- /js/js-arrays.js: -------------------------------------------------------------------------------- 1 | //creating a javaScript array 2 | let fruits = []; 3 | console.log("Type of fruits :", typeof fruits); 4 | console.log("Fruits array :", fruits, "\n"); 5 | 6 | //in-order to identify the array length 7 | console.log("Fruits array length:", fruits.length, "\n"); 8 | 9 | //defining values to array 10 | fruits = ["apple", "orange", "pineapple"]; 11 | console.log("Fruits array :", fruits); 12 | console.log("Fruits array length:", fruits.length, "\n"); 13 | 14 | //retriving values from array index 15 | console.log("2nd element :", fruits[1]); 16 | console.log("3rd element :", fruits[2]); 17 | console.log("1st element :", fruits[0]); 18 | 19 | console.log("Array index out of bound :", fruits[4], "\n"); 20 | 21 | //assigning a value replacing existing value in an array index 22 | fruits[1] = "woodapple"; 23 | console.log("Fruits array :", fruits, "\n"); 24 | 25 | //assigning a value to an array index which doesn't exists 26 | fruits[5] = "banana"; 27 | console.log("Banana :", fruits[5]); 28 | console.log("Fruits array :", fruits, "\n"); 29 | 30 | console.log("Empty item 1 :", fruits[3]); 31 | console.log("Empty item 2 :", fruits[4]); 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Gayanuka Bulegoda 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 | -------------------------------------------------------------------------------- /exercises/css/exercise-09.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | } 4 | 5 | .loading-container { 6 | width: 100%; 7 | height: 100vh; 8 | background-color: darkturquoise; 9 | justify-content: center; 10 | align-items: center; 11 | display: flex; 12 | } 13 | 14 | .dot { 15 | width: 3rem; 16 | height: 3rem; 17 | border-radius: 50%; 18 | background-color: black; 19 | margin: 0 2rem; 20 | animation: bounce 1.5s ease-in-out infinite; 21 | } 22 | 23 | .dot:nth-child(1) { 24 | animation-delay: 0.2s; 25 | } 26 | 27 | .dot:nth-child(2) { 28 | animation-delay: 0.4s; 29 | } 30 | 31 | .dot:nth-child(3) { 32 | animation-delay: 0.6s; 33 | } 34 | 35 | .dot:nth-child(4) { 36 | animation-delay: 0.8s; 37 | } 38 | 39 | .dot:nth-child(5) { 40 | animation-delay: 1s; 41 | } 42 | 43 | @keyframes bounce { 44 | /* 0%, 45 | 100% { 46 | transform: translateY(0); 47 | } */ 48 | 49 | 0% { 50 | transform: translateY(0); 51 | background-color: black; 52 | } 53 | 50% { 54 | transform: translateY(-70px); 55 | background-color: darkblue; 56 | } 57 | 100% { 58 | transform: translateY(0); 59 | background-color: darkslategrey; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /css/lesson-validation-jQuery.css: -------------------------------------------------------------------------------- 1 | body { 2 | height: 100vh; 3 | font-family: Arial, sans-serif; 4 | background: radial-gradient(white, lightgrey); 5 | 6 | display: flex; 7 | justify-content: center; 8 | align-items: center; 9 | } 10 | 11 | .container { 12 | width: 400px; 13 | margin: 50px auto; 14 | padding: 10px 20px 20px; 15 | border: 2px solid #ccc; 16 | border-radius: 5px; 17 | background: linear-gradient(lightgray, white, lightgray); 18 | } 19 | 20 | h2 { 21 | text-align: center; 22 | padding: 5px 10px 10px; 23 | } 24 | 25 | .input-group { 26 | margin: 0 15px 20px 0; 27 | } 28 | 29 | .input-group label { 30 | display: block; 31 | margin-bottom: 5px; 32 | } 33 | 34 | .input-group input { 35 | width: 100%; 36 | padding: 8px; 37 | font-size: 16px; 38 | border-radius: 3px; 39 | border: 1px solid #ccc; 40 | } 41 | 42 | .btn { 43 | display: inline-block; 44 | padding: 10px 20px; 45 | background-color: #007bff; 46 | color: #fff; 47 | border: none; 48 | border-radius: 3px; 49 | cursor: pointer; 50 | } 51 | 52 | .btn:hover { 53 | background-color: #0056b3; 54 | } 55 | 56 | .error { 57 | color: red; 58 | margin-top: 2px; 59 | } 60 | -------------------------------------------------------------------------------- /exercises/css/exercise-11.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: Arial, Helvetica, sans-serif; 4 | background-color: azure; 5 | } 6 | 7 | header { 8 | display: flex; 9 | justify-content: space-between; 10 | background-color: black; 11 | color: azure; 12 | padding: 12px; 13 | } 14 | 15 | #logo-image { 16 | width: 50px; 17 | height: 50px; 18 | border-radius: 50%; 19 | object-fit: cover; 20 | margin-right: 12px; 21 | } 22 | 23 | .logo-container { 24 | display: flex; 25 | } 26 | 27 | .navbar > ul { 28 | display: flex; 29 | justify-content: space-between; 30 | list-style-type: none; 31 | } 32 | 33 | .navbar > ul > li { 34 | margin: 0 12px; 35 | } 36 | 37 | .navbar > ul > li > a { 38 | text-decoration: none; 39 | color: azure; 40 | } 41 | 42 | #Home { 43 | width: 100vw; 44 | height: 100vh; 45 | background-color: darkolivegreen; 46 | } 47 | 48 | .menu-icon { 49 | display: none; 50 | } 51 | 52 | @media screen and (max-width: 655px) { 53 | .navbar a { 54 | display: none; 55 | } 56 | .menu-icon { 57 | display: block; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /exercises/js/JsExercise01.js: -------------------------------------------------------------------------------- 1 | function add(firstValue, secondValue) { 2 | return firstValue + secondValue; 3 | } 4 | 5 | function substract(firstValue, secondValue) { 6 | return firstValue - secondValue; 7 | } 8 | 9 | function multiply(firstValue, secondValue) { 10 | return firstValue * secondValue; 11 | } 12 | 13 | function divide(firstValue, secondValue) { 14 | return firstValue / secondValue; 15 | } 16 | 17 | console.log("Added Value :", add(10, 20), ":", typeof add(10, 20)); // 30 : number 18 | console.log("Added Value :", add(10, "Nisal"), ":", typeof add(10, "Nisal")); // 10Nisal : string 19 | 20 | console.log("Substracted Value :", substract(20, 10), ":", typeof substract(20, 10)); // 10 : number 21 | 22 | console.log("Multiplied Value :", multiply(10, 20), ":", typeof multiply(10, 20)); // 200 : number 23 | console.log("Multiplied Value :", multiply(10, "Nisal"), ":", typeof multiply(10, "Nisal")); // NaN : number 24 | /* 25 | * here the data type will print as number bcz in multipication, the output should be a number 26 | * 'NaN' means 'Not a Number' 27 | */ 28 | 29 | console.log("Divided Value :", divide(20, 10), ":", typeof divide(20, 10)); // 2 : number 30 | console.log("Divided Value :", divide(20, "Nisal"), ":", typeof divide(20, "Nisal")); // NaN : number 31 | -------------------------------------------------------------------------------- /css/lesson-css-flexbox.css: -------------------------------------------------------------------------------- 1 | .container { 2 | height: 96vh; 3 | width: 98.2vw; 4 | border: 10px solid black; 5 | display: flex; 6 | /* by default flex direction is row */ 7 | flex-direction: column; 8 | /* flex-direction: column; */ 9 | /* flex-direction: row-reverse; */ 10 | /* flex-direction: column-reverse; */ 11 | 12 | /* justify-content: flex-start; */ 13 | /* justify-content: flex-end; */ 14 | justify-content: center; 15 | /* justify-content: space-between; */ 16 | /* justify-content: space-around; */ 17 | /* justify-content: space-evenly; */ 18 | 19 | /* align-items: flex-start; 20 | align-items: flex-end; */ 21 | align-items: center; 22 | 23 | flex-wrap: wrap; 24 | 25 | align-content: center; 26 | 27 | gap: 20px; 28 | /* row-gap: 10px; 29 | column-gap: 20px; */ 30 | } 31 | 32 | .box { 33 | width: 200px; 34 | height: 200px; 35 | border-radius: 20px; 36 | text-align: center; 37 | font-size: 80px; 38 | margin-right: 10px; 39 | margin-bottom: 10px; 40 | border: 4px solid darkblue; 41 | } 42 | 43 | .box-1 { 44 | background-color: cadetblue; 45 | } 46 | 47 | .box-2 { 48 | background-color: lightskyblue; 49 | } 50 | 51 | .box-3 { 52 | background-color: lightslategray; 53 | } 54 | 55 | .box-4 { 56 | background-color: lightsalmon; 57 | } 58 | -------------------------------------------------------------------------------- /pages/lesson-multimedia.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Multimedia 7 | 8 | 9 | 10 |

============ Image Element ===========

11 | Nice Burger You Can Eat 16 | 17 | 18 |

=========== Audio Element ============

19 | 22 | 23 | 24 |

=========== Video Element ===========

25 | 29 | 30 | 31 |

==== Embedding an HTML page to current HTML page ====

32 | 37 | 38 | -------------------------------------------------------------------------------- /css/lesson-css-selectors.css: -------------------------------------------------------------------------------- 1 | /* 1.Element Selector */ 2 | h2 { 3 | color: blueviolet; 4 | } 5 | 6 | /* 2. ID Selector */ 7 | #main-heading { 8 | color: brown; 9 | } 10 | 11 | /* 3.Class selector */ 12 | .heading-selector { 13 | color: darkgreen; 14 | } 15 | 16 | /* 4.Attribute selector */ 17 | input[type="text"] { 18 | color: darkred; 19 | background-color: lightcyan; 20 | } 21 | 22 | /* 5.Pseudo class selector */ 23 | button:hover { 24 | background-color: brown; 25 | color: white; 26 | cursor: pointer; 27 | } 28 | 29 | /* 6.Pseudo element selector */ 30 | p::first-line { 31 | color: darkblue; 32 | font-weight: bold; 33 | } 34 | 35 | /* 7.Descendant selector (White-space combinator) */ 36 | div h4 { 37 | color: darkred; 38 | } 39 | 40 | div div h4 { 41 | color: blueviolet; 42 | } 43 | 44 | /* 8. Child selector */ 45 | /* (Selects all
elements that are immediate children of
elements) */ 46 | div > h5 { 47 | font-weight: bold; 48 | font-style: italic; 49 | color: darkgreen; 50 | } 51 | 52 | /* 9.Adjacent sibling selector (+) */ 53 | /* Select the

element that is immediately preceded by an

element */ 54 | h2 + p { 55 | background-color: aqua; 56 | } 57 | 58 | /* 10.General sibling selector (~) */ 59 | /* Selects all

elements that are siblings of an

element */ 60 | h6 ~ p { 61 | background-color: yellowgreen; 62 | } 63 | -------------------------------------------------------------------------------- /exercises/pages/exercise-11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | Responsive Menu Exercise 14 | 15 | 16 | 17 |
18 |
19 | logo-image 20 |

Gayanuka Bulegoda

21 |
22 | 33 |
34 |
35 | 36 | 37 | -------------------------------------------------------------------------------- /js/FunctionHoisting.js: -------------------------------------------------------------------------------- 1 | function greet() { 2 | console.log("Hellow, Good afternoon!"); 3 | } 4 | greet(); 5 | 6 | console.log(""); 7 | 8 | greeting(); 9 | function greeting() { 10 | console.log("Hellow, Good morning!"); 11 | } 12 | 13 | console.log("\n=================================\n"); 14 | 15 | var addNumbers = (num1, num2) => { 16 | return num1 + num2; 17 | }; 18 | console.log(addNumbers(10, 20)); 19 | 20 | console.log(""); 21 | 22 | /** 23 | * although function hoisting occurs in named functions, 24 | * hoisting does not occur in arrow functions 25 | * (TypeError pop-up in var typed arrow functions) 26 | * (Reference Error pop-up in let typed arrow functions) 27 | * (Reference Error pop-up in const typed arrow functions) 28 | */ 29 | console.log(addNumbersSet(10, 20)); // TypeError: addNumbersSet is not a function 30 | var addNumbersSet = (num1, num2) => { 31 | return num1 + num2; 32 | }; 33 | 34 | console.log(addNumber(10, 20)); // ReferenceError: Cannot access 'addNumber' before initialization 35 | let addNumber = (num1, num2) => { 36 | return num1 + num2; 37 | }; 38 | 39 | console.log(add(10, 20)); // ReferenceError: Cannot access 'add' before initialization 40 | const add = (num1, num2) => { 41 | return num1 + num2; 42 | }; 43 | 44 | /** 45 | * Summery --> in-order to do function hoisting, it is essential to use named function (with function keyword) 46 | */ 47 | -------------------------------------------------------------------------------- /pages/lesson-bootstrap-guide.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | Lesson - Bootstrap Guide 13 | 18 | 19 | 20 |

Hellow World!

21 |

Hellow World!

22 |

Hellow World!

23 |

Hellow World!

24 |
Hellow World!
25 |
Hellow World!
26 | 27 | 28 |
29 |

Hellow World!

30 |
31 | 32 | 33 |
34 |

Hellow World!

35 |
36 | 37 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /exercises/css/exercise-01.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0%; 3 | font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 4 | Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; 5 | background-color: darkslategray; 6 | } 7 | 8 | header { 9 | margin: 0; 10 | padding: 1px; 11 | color: aliceblue; 12 | } 13 | 14 | footer { 15 | text-align: center; 16 | color: aliceblue; 17 | } 18 | 19 | h1, 20 | h2 { 21 | text-align: center; 22 | } 23 | 24 | .main-container { 25 | display: flex; 26 | border: 1px solid aliceblue; 27 | border-radius: 12px; 28 | margin: 10px; 29 | align-items: center; 30 | justify-content: center; 31 | } 32 | 33 | .container { 34 | padding: 20px; 35 | margin: 15px; 36 | border-radius: 12px; 37 | background-color: lightgray; 38 | } 39 | 40 | .container a { 41 | color: black; 42 | text-decoration: none; 43 | } 44 | 45 | .box { 46 | padding: 20px; 47 | margin: 10px; 48 | border-radius: 12px; 49 | transition: all ease 0.2s; 50 | } 51 | 52 | .box:hover { 53 | transform: scale(1.05); 54 | } 55 | 56 | .box-1 { 57 | background-color: lightblue; 58 | } 59 | 60 | .box-2 { 61 | background-color: lightsteelblue; 62 | } 63 | 64 | .box-3 { 65 | background-color: rgb(240, 213, 178); 66 | } 67 | 68 | .box-4 { 69 | background-color: lavender; 70 | } 71 | 72 | .box-5 { 73 | background-color: #f7cac9; 74 | } 75 | -------------------------------------------------------------------------------- /pages/lesson-html-forms.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Forms 7 | 8 | 9 |

Contact Us

10 |
11 | 12 |

18 | 19 | 20 |

21 | 22 | 23 | 24 | 25 | 26 |

27 | 28 | 29 |

30 | 37 |

38 | 39 | 40 |
41 | 42 | -------------------------------------------------------------------------------- /exercises/js/JsExercise03.js: -------------------------------------------------------------------------------- 1 | let studentArray = [ 2 | { 3 | name: "Nisal", 4 | mark: 92, 5 | }, 6 | { 7 | name: "Sumudu", 8 | mark: 73, 9 | }, 10 | { 11 | name: "Yasith", 12 | mark: 78, 13 | }, 14 | { 15 | name: "Ashen", 16 | mark: 100, 17 | }, 18 | { 19 | name: "Aravinda", 20 | mark: 12, 21 | }, 22 | { 23 | name: "Lokitha", 24 | mark: 38, 25 | }, 26 | { 27 | name: "Janindu", 28 | mark: 54, 29 | }, 30 | { 31 | name: "Manawadu", 32 | mark: 62, 33 | }, 34 | { 35 | name: "Vimal", 36 | mark: -10, 37 | }, 38 | ]; 39 | 40 | for (let i = 0; i < studentArray.length; i++) { 41 | console.log(getStudentGrade(studentArray[i].name, studentArray[i].mark)); 42 | } 43 | 44 | function calculateGrade(mark) { 45 | if (mark >= 90 && mark <= 100) { 46 | return "A+"; 47 | } else if (mark >= 80 && mark < 90) { 48 | return "A-"; 49 | } else if (mark >= 75 && mark < 80) { 50 | return "A"; 51 | } else if (mark >= 65 && mark < 75) { 52 | return "B"; 53 | } else if (mark >= 55 && mark < 65) { 54 | return "C"; 55 | } else if (mark >= 35 && mark < 55) { 56 | return "S"; 57 | } else if (mark >= 0 && mark < 35) { 58 | return "F"; 59 | } else { 60 | return "Invalid Mark!"; 61 | } 62 | } 63 | 64 | function getStudentGrade(studentName, mark) { 65 | return studentName + "\'s grade for " + mark + " : " + calculateGrade(mark); 66 | } 67 | -------------------------------------------------------------------------------- /exercises/pages/exercise-02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Content Done 7 | 8 | 27 | 28 | 29 | html-logo 30 |

Module Content

31 | 37 | 38 | -------------------------------------------------------------------------------- /js/LetVsVarVsConst.js: -------------------------------------------------------------------------------- 1 | /* 2 | * var -> function-scoped (able to be access away from the relevant block) 3 | * let -> block-scoped (only able to acess within the relevant block) 4 | * const -> block-scoped 5 | * let and const arrived to JavaScript since EcmaScript 6 (ES6) 6 | * defining varibles using let and const is a best practice 7 | 8 | (if a var variable delcared and assigned globally, 9 | using window object through console object we're able to access that var variable) 10 | */ 11 | 12 | // iterating and trying to access let variable away from block scope (Reference error) 13 | function iterateLetNumber() { 14 | for (let i = 0; i <= 5; i++) { 15 | console.log(i); 16 | } 17 | console.log(i); // ReferenceError: i is not defined 18 | } 19 | iterateLetNumber() 20 | 21 | console.log("\n===============================\n"); 22 | 23 | // iterating and trying to access var variable away from block scope (No any errors) 24 | function iterateVarNumber() { 25 | for (var i = 0; i <= 5; i++) { 26 | console.log(i); 27 | } 28 | console.log(i); // 6 29 | } 30 | iterateVarNumber() 31 | 32 | console.log("\n===============================\n"); 33 | 34 | // iterating and trying to access const variable away from block scope (TypeError) 35 | function iterateConstNumber() { 36 | for (const i = 0; i <= 5; i++) { // TypeError: Assignment to constant variable. (i++) 37 | console.log(i); // 0 38 | } 39 | console.log(i); 40 | } 41 | iterateConstNumber() 42 | -------------------------------------------------------------------------------- /js/JsFunctions.js: -------------------------------------------------------------------------------- 1 | // basic function declaration (without parameters) 2 | function sayHello() { 3 | console.log("Hellow World!!!"); 4 | } 5 | sayHello(); 6 | 7 | console.log(""); 8 | 9 | // basic function declaration (with parameters) 10 | function greeting(name) { 11 | console.log("Good morning " + name); 12 | } 13 | 14 | greeting("Nisal"); // Nisal 15 | greeting(); // undefined 16 | greeting("Sithum", "Wimal"); // Sithum 17 | greeting(1); // 1 18 | greeting(4, 2); // 4 19 | 20 | /* In JavaScript, when you declare multiple functions with the same name, only the last one declared will be used. 21 | This behavior is known as "function hoisting" or "function overwriting". */ 22 | 23 | console.log(""); 24 | 25 | function greeting(firstName, lastName) { 26 | console.log("Good morning", firstName, lastName); 27 | } 28 | 29 | greeting("Sithum", "Dias"); 30 | 31 | console.log(""); 32 | 33 | function greeting(firstName, lastName) { 34 | console.log("Good morning", firstName, lastName); 35 | return firstName + " " + lastName; 36 | } 37 | 38 | let returnedGreetingValue = greeting("Nisal", "Perera"); 39 | console.log("returnedGreetingValue :", returnedGreetingValue); 40 | 41 | console.log(""); 42 | 43 | function greeting(firstName, lastName) { 44 | console.log("Good morning", firstName, lastName); 45 | // return firstName + " " + lastName 46 | } 47 | 48 | let greetingValueReturned = greeting("Nisal", "Perera"); 49 | console.log("returnedGreetingValue :", greetingValueReturned); //undefined 50 | -------------------------------------------------------------------------------- /pages/lesson-css-base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Basics 7 | 8 | 16 | 17 | 18 |

26 | Cascading Style Sheet (CSS) Integration 27 |

28 |

29 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloremque veniam 30 | laborum id explicabo quod deserunt eligendi unde dolor dolore repudiandae, 31 | et, consequuntur eius, dolores modi aperiam omnis cumque? Quos, 32 | exercitationem. 33 |

34 |

Heading 03

35 |

36 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam aliquid in 37 | tempora quia fugit est dolore odit? Amet laudantium deleniti hic explicabo 38 | quae alias, animi beatae? Quod placeat facilis ab? 39 |

40 | 41 |

Heading 02 -CSS Applying In Priority Order

42 |
    43 |
  1. Inline Styling
  2. 44 |
  3. Internal Styling
  4. 45 |
  5. External Styling
  6. 46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /pages/lesson-css-specificity.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Specificity 7 | 8 | 9 | 10 |

CSS Specificity

11 |

12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Quod assumenda 13 | aspernatur dolorum ipsa ratione quas, quia quae, rerum necessitatibus 14 | expedita deserunt iste placeat adipisci nihil voluptatum iure! Provident, 15 | iste asperiores! Lorem ipsum dolor sit amet consectetur adipisicing elit. 16 | Quod assumenda aspernatur dolorum ipsa ratione quas, quia quae, rerum 17 | necessitatibus expedita deserunt iste placeat adipisci nihil voluptatum 18 | iure! Provident, iste asperiores! 19 |

20 | 21 | ============================= 22 | 23 |

Recipies

24 |
25 |

Sea Food Rice

26 |

27 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Facere animi, 28 | quidem vitae, earum neque beatae dolores quaerat maiores laboriosam quis 29 | corporis ratione iure repellendus dolor. Quae qui consequuntur minus in? 30 |

31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /css/lesson-event-listeners.css: -------------------------------------------------------------------------------- 1 | body { 2 | width: 100vw; 3 | height: 100vh; 4 | margin: 0; 5 | display: flex; 6 | font-family: Arial, Helvetica, sans-serif; 7 | animation: body 4s ease-in-out infinite; 8 | } 9 | 10 | .container { 11 | width: 60%; 12 | height: 100%; 13 | display: flex; 14 | flex-direction: column; 15 | align-items: center; 16 | justify-content: center; 17 | } 18 | 19 | button { 20 | width: 15%; 21 | padding: 0.6%; 22 | margin: 0.5% 0; 23 | cursor: pointer; 24 | color: whitesmoke; 25 | background-color: lightslategray; 26 | border-style: hidden; 27 | border-radius: 10px; 28 | } 29 | 30 | #box { 31 | width: 400px; 32 | height: 400px; 33 | border: 1px solid; 34 | border-radius: 20px; 35 | cursor: alias; 36 | } 37 | 38 | input { 39 | width: 25%; 40 | padding: 1%; 41 | margin: 1% 1%; 42 | font-size: medium; 43 | border: 0.5px dotted; 44 | border-radius: 12px; 45 | } 46 | 47 | form { 48 | width: 40%; 49 | height: 100%; 50 | display: flex; 51 | justify-content: start; 52 | align-items: center; 53 | } 54 | 55 | @keyframes body { 56 | 0%, 57 | 100% { 58 | background: no-repeat 59 | linear-gradient(to right, lightcyan, white, white, white); 60 | } 61 | 62 | 25% { 63 | background: no-repeat 64 | linear-gradient(to right, white, lightcyan, white, white); 65 | } 66 | 67 | 50% { 68 | background: no-repeat 69 | linear-gradient(to right, white, white, lightcyan, white); 70 | } 71 | 72 | 75% { 73 | background: no-repeat 74 | linear-gradient(to right, white, white, white, lightcyan); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /exercises/css/exercise-08.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: Arial, Helvetica, sans-serif; 4 | background-color: azure; 5 | } 6 | 7 | header { 8 | display: flex; 9 | justify-content: space-between; 10 | background-color: black; 11 | color: azure; 12 | padding: 12px; 13 | } 14 | 15 | #logo-image { 16 | width: 50px; 17 | height: 50px; 18 | border-radius: 50%; 19 | object-fit: cover; 20 | margin-right: 12px; 21 | } 22 | 23 | .logo-container { 24 | display: flex; 25 | } 26 | 27 | .navbar > ul { 28 | display: flex; 29 | justify-content: space-between; 30 | list-style-type: none; 31 | } 32 | 33 | .navbar > ul > li { 34 | margin: 0 12px; 35 | } 36 | 37 | .navbar > ul > li > a { 38 | text-decoration: none; 39 | color: azure; 40 | } 41 | 42 | .intro-container { 43 | display: flex; 44 | } 45 | 46 | .intro-content { 47 | width: 50%; 48 | display: flex; 49 | flex-direction: column; 50 | justify-content: center; 51 | align-items: center; 52 | padding: 12px; 53 | } 54 | 55 | #intro-image { 56 | width: 100%; 57 | height: 100vh; 58 | border-top-left-radius: 12px; 59 | border-bottom-left-radius: 12px; 60 | } 61 | 62 | .social-media > a > img { 63 | width: 50px; 64 | height: 50px; 65 | } 66 | 67 | .tech-grid { 68 | display: grid; 69 | grid-template-columns: repeat(4, 1fr); 70 | gap: 12px; 71 | padding: 12px; 72 | } 73 | 74 | .tech-card { 75 | background-color: white; 76 | border-radius: 20px; 77 | } 78 | 79 | .tech-image { 80 | border-radius: 20px; 81 | } 82 | 83 | .tech-card > h2 { 84 | text-align: center; 85 | } 86 | 87 | .tech-stack { 88 | text-align: center; 89 | } 90 | -------------------------------------------------------------------------------- /pages/lesson-css-units.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Units 7 | 8 | 9 | 10 |
Pixels
11 |
Percentage
12 |
13 |
14 |
15 |
16 |
17 |
18 |
View Per Width
19 |
20 | 21 | ================= rem =================

22 | 23 | 26 | 27 |
Hellow World!
28 |
Hellow World!
29 |
Hellow World!
30 |
Hellow World!
31 |
32 | 33 | ================= em =================

34 | 35 | 36 | 37 |
38 |
Hellow World!
39 |
Hellow World!
40 |
Hellow World!
41 |
Hellow World!
42 |
Hellow World!
43 |
44 | 45 | 46 | -------------------------------------------------------------------------------- /pages/lesson-bootstrap-grid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | Lesson - Bootstrap Grid 13 | 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 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /pages/lesson-jQuery-basics.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson jQuery - Basics 7 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /js/EventListeners.js: -------------------------------------------------------------------------------- 1 | // let button = document.getElementById('btnAdd') 2 | // button.addEventListener() 3 | 4 | let box = document.getElementById("box"); 5 | 6 | // 1. click event 7 | document.getElementById("btnAdd").addEventListener("click", function () { 8 | alert("Added to Cart...."); 9 | }); 10 | 11 | // 2. mouseover event 12 | document.getElementById("box").addEventListener("mouseover", function () { 13 | console.log("Mouse Over...."); 14 | box.style.backgroundColor = "red"; 15 | }); 16 | 17 | // 3. mouseout event 18 | document.getElementById("box").addEventListener("mouseout", function () { 19 | console.log("Mouse Out...."); 20 | box.style.backgroundColor = "green"; 21 | }); 22 | 23 | // 4. keydown event 24 | let userNameField = document.getElementById("userName"); 25 | 26 | // userNameField.addEventListener("keydown", () => { 27 | // console.log("Key Down...."); 28 | // }); 29 | 30 | userNameField.addEventListener("keydown", (event) => { 31 | console.log(event); 32 | console.log("Key Down...." + event.key); 33 | console.log("Key Down...." + event.keyCode); 34 | }); 35 | 36 | // 5. keyup event 37 | // userNameField.addEventListener("keyup", () => { 38 | // console.log("Key Up...."); 39 | // }); 40 | 41 | userNameField.addEventListener("keyup", (event) => { 42 | console.log("Key Up...." + event.key); 43 | }); 44 | 45 | // 6. submit event 46 | // document.getElementById("myFrom").addEventListener('submit', () => { 47 | // console.log('Form Submitted'); 48 | // }) 49 | 50 | document.getElementById("myForm").addEventListener("submit", (event) => { 51 | event.preventDefault(); // in-order to prevent default page-relaod-after-submit behaviour 52 | console.log("Form Submitted"); 53 | }); 54 | -------------------------------------------------------------------------------- /js/DOMHandling.js: -------------------------------------------------------------------------------- 1 | let box = document.getElementById("box"); 2 | console.log(box); 3 | 4 | /* Elements that handle the DOM */ 5 | 6 | // 1. innerHTML 7 | console.log(box.innerHTML); 8 | console.log(typeof box.innerHTML); 9 | 10 | box.innerHTML = "
Hellow World!
"; 11 | console.log(box.innerHTML); 12 | 13 | // 2. textContent 14 | console.log(box.textContent); 15 | 16 | box.textContent = "Happy Coding!"; 17 | console.log(box.textContent); 18 | 19 | // 3. innerText 20 | console.log(box.innerText); 21 | 22 | box.innerText = "Nice Computer..."; 23 | console.log(box.innerText); 24 | 25 | // 4. applying styles 26 | let image = document.getElementById("image"); 27 | image.style.width = "400px"; 28 | image.style.height = "350px"; 29 | 30 | // 5. setAttributes 31 | image.setAttribute("src", "/assests/img/cartoon5.png"); 32 | 33 | // 6. classList 34 | console.log(box.classList); 35 | 36 | // in-order to add class 37 | box.classList.add("aaa"); 38 | 39 | // also able to add many classes 40 | image.classList.add("ppp", "qqq", "rrr"); 41 | 42 | console.log(box.classList); 43 | console.log(image.classList); 44 | 45 | // also able to remove class 46 | image.classList.remove("ppp"); 47 | console.log(image.classList); 48 | 49 | // also able to replace class 50 | image.classList.replace('rrr', 'buy') 51 | console.log(image.classList); 52 | 53 | // 7. append and appendChild 54 | let parentDiv = document.createElement('div') 55 | box.append(parentDiv) 56 | 57 | let childDiv = document.createElement('div') 58 | parentDiv.appendChild(childDiv) 59 | 60 | childDiv.setAttribute('attr', 'new') 61 | 62 | // 8. remove and removeChild 63 | parentDiv.removeChild(childDiv) // in-order to remove a child 64 | parentDiv.remove() // in-order to remove a parent element -------------------------------------------------------------------------------- /pages/lesson-validation-jQuery.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson Validation 7 | 8 | 9 | 10 |
11 |

Customer Registration

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 | -------------------------------------------------------------------------------- /pages/lesson-css-background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Background 7 | 23 | 24 | 25 |

Hey there!!!

26 |

27 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam, culpa. 28 | Iusto eveniet voluptatum aut recusandae itaque. Sint voluptatum laboriosam 29 | eveniet soluta voluptate? Officiis vero voluptatem, nemo cum perspiciatis 30 | quasi fugiat unde laboriosam est provident culpa dignissimos repellat 31 | consequatur amet harum, hic, ullam at eos! Nobis magnam hic numquam 32 | dolore, laborum consequuntur animi error reiciendis, possimus, sit 33 | suscipit rerum porro laudantium illum est? Exercitationem, enim eum! 34 | Architecto minus commodi expedita at rem cum quos odit deserunt, 35 | voluptatum voluptatibus enim. Nobis amet inventore eaque enim impedit vero 36 | deserunt natus rerum libero, quod itaque quaerat maiores. Harum ullam iure 37 | earum excepturi, aspernatur reprehenderit! 38 |

39 | 40 | 41 | -------------------------------------------------------------------------------- /js/LessonValidationJQuery.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | $("#registrationForm").submit(function (event) { 3 | event.preventDefault(); 4 | if (validateForm()) { 5 | alert("Form Submitted!"); 6 | } 7 | }); 8 | }); 9 | 10 | function validateForm() { 11 | let fullName = $("#fullname").val(); // val means value 12 | let email = $("#email").val(); 13 | let password = $("#password").val(); 14 | let confirmPassword = $("#confirmPassword").val(); 15 | isValid = true; 16 | 17 | if (fullName === null || fullName === "") { 18 | $("#fullNameError").text("Please enter your full name!"); 19 | isValid = false; 20 | } else { 21 | $("#fullNameError").text(""); 22 | } 23 | 24 | if (email === null || email === "") { 25 | $("#emailError").text("Please enter your email!"); 26 | isValid = false; 27 | } else if (!isValidEmail) { 28 | $("#emailError").text("Please enter valid email!"); 29 | isValid = false; 30 | } else { 31 | $("#emailError").text(""); 32 | } 33 | 34 | if (password === null || password === "") { 35 | $("#passwordError").text("Please enter your password!"); 36 | isValid = false; 37 | } else if (password.length < 6) { 38 | $("#passwordError").text("Password must be at least 6 characters!"); 39 | } else { 40 | $("#passwordError").text(""); 41 | } 42 | 43 | if (confirmPassword === null || confirmPassword === "") { 44 | $("#confirmPasswordError").text("Please confirm your password!"); 45 | isValid = false; 46 | } else if (password !== confirmPassword) { 47 | $("#confirmPasswordError").text("Passwords do not match!"); 48 | isValid = false; 49 | } else { 50 | $("#confirmPasswordError").text(""); 51 | } 52 | 53 | return isValid; 54 | } 55 | 56 | function isValidEmail() { 57 | return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); 58 | } 59 | -------------------------------------------------------------------------------- /pages/lesson-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Lesson - List 9 | 10 | 11 | 12 |

=========== Unordered List ===========

13 | 19 | 20 | 21 |

============ Ordered List ============

22 |
    23 |
  1. Java
  2. 24 |
  3. JavaFx
  4. 25 |
  5. MySQL
  6. 26 |
  7. HTML
  8. 27 |
28 | 29 | 30 |

=========== Definition List ===========

31 |
32 |
Option 01
33 |
34 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 35 | Ipsam velit nulla officiis excepturi aperiam officia, 36 | eligendi assumenda atque sequi magni id error inventore fuga dignissimos? 37 | Harum mollitia rem nemo esse? 38 |
39 |
Option 02
40 |
41 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 42 | Ipsam velit nulla officiis excepturi aperiam officia, 43 | eligendi assumenda atque sequi magni id error inventore fuga dignissimos? 44 | Harum mollitia rem nemo esse? 45 |
46 |
Option 03
47 |
48 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 49 | Ipsam velit nulla officiis excepturi aperiam officia, 50 | eligendi assumenda atque sequi magni id error inventore fuga dignissimos? 51 | Harum mollitia rem nemo esse? 52 |
53 |
54 | 55 | -------------------------------------------------------------------------------- /pages/lesson-css-grid-layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Grid Layout 7 | 26 | 27 | 28 |
29 |
30 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 31 | fugit. 32 |
33 |
34 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 35 | fugit. 36 |
37 |
38 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 39 | fugit. 40 |
41 |
42 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 43 | fugit. 44 |
45 |
46 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 47 | fugit. 48 |
49 |
50 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 51 | fugit. 52 |
53 |
54 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 55 | fugit. 56 |
57 |
58 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Necessitatibus, 59 | fugit. 60 |
61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /js/VariableHoisting.js: -------------------------------------------------------------------------------- 1 | /** hoisting ~Concept */ 2 | 3 | /* ====== Variable Hoisting with 'var' keyword ====== */ 4 | 5 | /** 6 | * if we delcare a variable using 'var', 7 | * 8 | * javascript interpreter drags only the variable declaration to the top of the code lines and initialized with undefined. 9 | * so that, if we use / print the value of a varibale which is declared below; no error pop-up and outputs the initial value 'undefined' 10 | * this is called as 'JavaScript Hoisting (with var)' 11 | * 12 | * (With var, variable declarations are hoisted to the top of their containing function or global scope, 13 | which means you can access the variable before it's declared without causing an error, 14 | although its value will be undefined until it's assigned.) 15 | */ 16 | 17 | console.log(number); //undefined 18 | var number = 100; 19 | 20 | /* ====== Variable Hoisting with 'let' keyword ====== */ 21 | 22 | /** 23 | * in let, 24 | * javascript interpreter hoist (move the varibale to the upper lines of the code) 25 | * but let variables doesn't iniialize with 'undefined' 26 | * that's why reference error appear 27 | */ 28 | 29 | console.log(firstname); // ReferenceError: Cannot access 'firstname' before initialization 30 | let firstname = 100; 31 | 32 | /* ====== Variable Hoisting with 'const' keyword ====== */ 33 | 34 | /** 35 | * in const, 36 | * javascript interpreter hoist (move the varibale to the upper lines of the code) 37 | * but const variables doesn't iniialize with 'undefined' 38 | * that's why reference error appear 39 | */ 40 | 41 | console.log(lastname); // ReferenceError: Cannot access 'lastname' before initialization 42 | const lastname = "perera"; 43 | 44 | /** 45 | * (On the other hand, let and const declarations are hoisted to the top of their containing block 46 | (e.g., a loop or an if statement), but they are not initialized. 47 | This means that trying to access them before the actual declaration in the code will result in a ReferenceError.) 48 | */ 49 | 50 | /** 51 | * Summery --> var, let, const all are hoisting. btw only var is initialize with 'undefined' 52 | */ 53 | -------------------------------------------------------------------------------- /pages/lesson-pseudo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Pseudo 7 | 8 | 9 | 10 |

Lesson Pseudo

11 | 12 | 16 | 17 |

========= Pseudo Classes =========

18 | 19 | 20 | 21 | 27 |
28 | 29 | 33 | 34 |

========= Pseudo Elements =========

35 | 36 |

37 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Magnam error 38 | quibusdam neque nihil, nam dicta fuga excepturi quae ab voluptatibus ut, 39 | quia molestias maiores, rem doloribus vitae exercitationem repudiandae? A 40 | consequuntur eveniet reiciendis voluptatem minus dolor vel quia ut 41 | doloremque nostrum hic ipsum, excepturi laborum asperiores amet enim? Ipsa 42 | autem dicta, facere hic, nihil consectetur itaque dolorem, natus animi ex 43 | officia veritatis illo? Sequi nisi similique alias sit saepe suscipit 44 | libero dolorem vitae perferendis eius rerum totam illo nihil velit odio at 45 | quod, obcaecati cum adipisci numquam impedit officia ullam. Minima nemo 46 | ipsa cumque vel nostrum at officiis, possimus mollitia 47 |

48 | 49 | 50 | -------------------------------------------------------------------------------- /js/primitive-data-types.js: -------------------------------------------------------------------------------- 1 | /* 2 | There are 6 primitive data types in JavaScript 3 | 1.string 4 | 2.number 5 | 3.boolean 6 | 4.undefined 7 | 5.null -> Represents the intentional absence of any object value. It is a primitive value that represents the absence of a value or an empty value 8 | 6.symbol -> Introduced in ECMAScript 6 (ES6), symbols are unique and immutable primitive values. They are often used as unique identifiers 9 | 7.bigint -> Large integer number (adds 'n' at the end to mention it as a BigInt number) 10 | */ 11 | 12 | // 1.string 13 | let firstName = "Nisal"; 14 | console.log("Type of firstName : " + typeof firstName); 15 | 16 | console.log(""); 17 | 18 | // 2.number 19 | let age = 20; 20 | console.log("Type of age :", typeof age); 21 | let distance = 1.25; 22 | console.log("Type of distance in 'km' :", typeof distance); 23 | 24 | console.log(""); 25 | 26 | // 3.boolean 27 | let isAdded = true; 28 | console.log("Type of isAdded : ", typeof isAdded); 29 | let isDeleted = false; 30 | console.log("Type of isDeleted :", typeof isDeleted); 31 | 32 | console.log(""); 33 | 34 | // 4.undefined 35 | let address; 36 | console.log("Type of address : ", typeof address); 37 | let email = undefined; 38 | console.log("Type of email : ", typeof email); 39 | 40 | console.log(""); 41 | 42 | // 5.null 43 | let phoneNumber = null; 44 | console.log("Type of phoneNumber : ", typeof phoneNumber); 45 | 46 | console.log(""); 47 | 48 | // 6.symbol 49 | let symbol = Symbol("First Name"); 50 | console.log("Type of symbol : ", typeof symbol); 51 | 52 | console.log(""); 53 | 54 | // 7.BigInt -> adds 'n' to the end of a large number 55 | const number = 223344556611778899n; 56 | console.log("Type of number : ", typeof number); // bigint 57 | 58 | const bigIntNumber = 22334455661177889900n; 59 | const normalNumber = 100; 60 | 61 | const result = bigIntNumber + normalNumber; 62 | console.log("Result : ", result); // TypeError: Cannot mix BigInt and other types, use explicit conversions 63 | 64 | /* able to be resolve above error as; */ 65 | const resolvedResult = bigIntNumber + BigInt(normalNumber); 66 | console.log("Resolved Result : ", resolvedResult); // 22334455661177890000n 67 | -------------------------------------------------------------------------------- /pages/lesson-css-margins.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Margins 7 | 8 | 9 | 10 | 11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores aliquam 13 | repellat nulla odit modi perspiciatis minima non quidem! Consequuntur quo 14 | ipsum rerum voluptatem voluptatum reiciendis numquam in. Sunt, consectetur 15 | eos reiciendis molestias minima dicta necessitatibus, nulla modi ducimus, 16 | itaque commodi quis sequi iste vitae facere aperiam atque nobis dolore 17 | tempore? Minima sapiente eligendi eos ut quae dolorum, quia sit, minus 18 | quibusdam veritatis illum itaque vel adipisci repellat earum maiores hic 19 | assumenda, asperiores expedita dicta. Suscipit autem adipisci, aliquid 20 | beatae quibusdam itaque, tempore labore quidem deleniti officia ex 21 | architecto consequuntur reiciendis libero et dolores debitis velit minus, 22 | voluptatem quo eaque enim! 23 |
24 |
25 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo 26 | doloremque eaque fuga adipisci possimus distinctio rem nihil repudiandae. 27 | Quod suscipit inventore cum, ducimus saepe, ipsam obcaecati ea error aut 28 | exercitationem autem! Ab dolores molestias rerum aperiam error nesciunt 29 | perferendis natus magni eaque harum nam cumque laudantium, sunt inventore? 30 | Nisi, maxime nemo? Quae asperiores voluptatibus nisi dolores incidunt fuga 31 | neque laudantium maxime veniam, nobis natus, nemo hic maiores veritatis 32 | molestias, ea excepturi culpa corporis. Velit, consequuntur doloribus 33 | asperiores accusamus quasi tempore delectus non facere numquam repellendus 34 | ex minus repellat laborum quibusdam corrupti, beatae alias quo sed 35 | commodi! Repellat asperiores excepturi eligendi! 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /pages/styled-form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Personal Information 7 | 59 | 60 | 61 |
62 |

Personal Information

63 |
64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 |
75 |
76 | 77 | -------------------------------------------------------------------------------- /js/js-objects.js: -------------------------------------------------------------------------------- 1 | /* Creating a javaScript object */ 2 | let student = {}; 3 | console.log("Student :", student); 4 | console.log("Type of student :", typeof student); 5 | 6 | console.log(""); 7 | 8 | /* Assigning values to javaScript object */ 9 | student = { 10 | firstName: "Nisal", 11 | lastName: "Perera", 12 | email: "nisalperera@gmail.com", 13 | phoneNumber: "0702145638", 14 | age: 17, 15 | isRegistered: false 16 | }; 17 | console.log("Student :", student); 18 | 19 | console.log(""); 20 | 21 | /* Two types of retriving a value from a object */ 22 | 23 | // 1. dot notation 24 | console.log("Student Email (using dot notation) :", student.email); 25 | 26 | // 2. square brakets notation 27 | console.log("Student Email (using square brakets notation) :", student["email"]); 28 | 29 | console.log(""); 30 | 31 | /* Assigning a value replaicing an existing value */ 32 | 33 | // 1. dot notation 34 | student.age = 20; 35 | console.log("Student age (using dot notation) :", student.age); 36 | console.log("Student :", student); 37 | 38 | // 2. square brakets notation 39 | student["age"] = 22; 40 | console.log("Student age (using square brakets notation) :", student["age"]); 41 | console.log("Student :", student); 42 | 43 | console.log("\n=============================\n"); 44 | 45 | // it is possible to keep function inside an object 46 | let person = { 47 | name: "Nisal", 48 | age: 20, 49 | greet: function () { 50 | console.log("Hey, Good Morning!"); 51 | } 52 | } 53 | 54 | person.greet(); 55 | 56 | console.log("\n=============================\n"); 57 | 58 | let person2 = { 59 | name: "Nisal", 60 | age: 20, 61 | greet: () => console.log("Hey, Good Morning!") 62 | } 63 | 64 | person2.greet(); 65 | 66 | console.log("\n=============================\n"); 67 | 68 | // it is possible to iterate the properties inside the object (Iterating over properties) 69 | let person3 = { 70 | name: "Nisal", 71 | age: 20, 72 | phone: "0703456705", 73 | greet: function () { 74 | console.log("Hey, Good Morning!"); 75 | } 76 | } 77 | 78 | for (let key in person3) { 79 | console.log(key + " : " + person3[key]); 80 | } 81 | 82 | console.log("\n=============================\n"); 83 | 84 | console.log(person3.age); 85 | console.log(person3['age']); -------------------------------------------------------------------------------- /pages/lesson-css-float.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Float 7 | 26 | 27 | 28 | 31 | cartoon image 36 | cartoon image 41 | cartoon image 46 |

47 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi cum ipsa 48 | voluptas repellendus, possimus, est maiores tempora impedit quae illum 49 | inventore voluptatum quis aut quod ab dicta consequuntur placeat dolorem 50 | laudantium aperiam labore amet perferendis culpa? Quidem in sequi a, iste 51 | iusto earum culpa maiores tenetur aspernatur, praesentium doloremque 52 | impedit? Esse placeat veniam asperiores, optio, harum quidem magni 53 | distinctio similique libero non rem saepe et dolore consequatur assumenda 54 | aut! Atque laudantium inventore assumenda. Doloremque expedita vel ad 55 | quaerat. Quaerat, consectetur blanditiis. Odit, necessitatibus! Tenetur 56 | cumque hic aperiam saepe ratione illo. Itaque autem, omnis minus nulla 57 | eveniet nisi mollitia! Eum, natus? 58 |

59 | 60 | 61 | -------------------------------------------------------------------------------- /js/Timers.js: -------------------------------------------------------------------------------- 1 | /* 1. setTimeout - executes a function once after a specific delay */ 2 | 3 | /** 4 | * setTimeout(function, timeout_time (is in milliseconds - default)) 5 | * setTimeout(callback, delay) 6 | */ 7 | 8 | setTimeout(function () { 9 | console.log("Hellow...."); 10 | }, 2000) 11 | 12 | // setTimeout function as an arrow function 13 | 14 | setTimeout(() => { 15 | console.log("Hiii...."); 16 | }, 4000) 17 | 18 | // in-order to clear / cancel the timeout function (to stop / cancel the delay of timeout function) 19 | /** 20 | * 1) assign the timeout function to a variable 21 | * 2) call the clearTimeout function 22 | */ 23 | 24 | let timeout = setTimeout(() => { 25 | console.log("Hiii Hiii...."); 26 | }, 3000) 27 | 28 | clearTimeout(timeout) // cancel the timeout 29 | 30 | let greetFunction = () => { 31 | console.log("Hellow World!"); 32 | } 33 | 34 | // in-order to call previously assigned function directly through setTimeout function 35 | setTimeout(greetFunction, 2000); 36 | 37 | console.log("\n===================================\n"); 38 | 39 | /* 2. setInterval - executes function repeatedly, with a fixed time delay between each call */ 40 | 41 | /** 42 | * setInterval(function, interval_time (is in milliseconds - default)) 43 | * setInterval(callback, interval) 44 | */ 45 | 46 | setInterval(function () { 47 | console.log("Heyyyyy"); 48 | }, 1000); 49 | 50 | // in-order to clear / cancel the interval function (to stop / cancel the interval of interval function) 51 | /** 52 | * 1) assign the interval function to a variable 53 | * 2) call the clearInterval function 54 | */ 55 | 56 | let interval = setInterval(function () { 57 | console.log("Heyyyyy hi"); 58 | }, 1000); 59 | 60 | clearInterval(interval) // cancel the interval 61 | 62 | let greet = () => { 63 | console.log("Hellow World!"); 64 | } 65 | 66 | // in-order to call previously assigned function directly through setInterval function 67 | setInterval(greet, 2000); 68 | 69 | /** 70 | * Below Reference error: because arrow functions does not hoist 71 | * (only named functions hoist) 72 | */ 73 | setInterval(greeting, 2000); // ReferenceError: Cannot access 'greeting' before initialization 74 | let greeting = () => { 75 | console.log("Hellow World!"); 76 | } 77 | 78 | -------------------------------------------------------------------------------- /css/lesson-css-animations.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | display: flex; 4 | background-color: black; 5 | } 6 | 7 | img { 8 | width: 70%; 9 | padding-top: 2.4rem; 10 | padding-left: 1.7rem; 11 | } 12 | 13 | .box { 14 | width: 200px; 15 | height: 200px; 16 | background-color: brown; 17 | position: relative; 18 | } 19 | 20 | .box-1 { 21 | top: 100px; 22 | left: 100px; 23 | 24 | /* animation-name: square; 25 | animation-duration: 4s; 26 | animation-timing-function: ease-out; 27 | animation-iteration-count: infinite; 28 | animation-delay: 0.5s; */ 29 | 30 | animation: square 4s ease-out infinite 0.5s; 31 | } 32 | 33 | .box-2 { 34 | top: 350px; 35 | left: 1000px; 36 | border-radius: 16px; 37 | 38 | animation: up-down 4s ease-out infinite 0.5s; 39 | } 40 | 41 | @keyframes square { 42 | /* from { 43 | background-color: darkolivegreen; 44 | } 45 | to { 46 | background-color: cadetblue; 47 | } */ 48 | 49 | /* 0% { 50 | background-color: darkolivegreen; 51 | } 52 | 100% { 53 | background-color: cadetblue; 54 | } */ 55 | 56 | /* 0% { 57 | background-color: blue; 58 | } 59 | 25% { 60 | background-color: yellow; 61 | } 62 | 50% { 63 | background-color: red; 64 | } 65 | 75% { 66 | background-color: white; 67 | } 68 | 100% { 69 | background-color: orangered; 70 | } */ 71 | } 72 | 73 | @keyframes square { 74 | 0% { 75 | background-color: blue; 76 | top: 100px; 77 | left: 100px; 78 | border-radius: 100px; 79 | } 80 | 25% { 81 | background-color: yellow; 82 | top: 100px; 83 | left: 600px; 84 | border-radius: 20px; 85 | transform: scale(2); 86 | } 87 | 50% { 88 | background-color: red; 89 | top: 600px; 90 | left: 600px; 91 | border-radius: 40px; 92 | } 93 | 75% { 94 | background-color: orchid; 95 | top: 600px; 96 | left: 100px; 97 | border-radius: 60px; 98 | } 99 | 100% { 100 | background-color: orangered; 101 | top: 100px; 102 | left: 100px; 103 | border-radius: 100px; 104 | } 105 | } 106 | 107 | @keyframes up-down { 108 | 0%, 109 | 50%, 110 | 100% { 111 | transform: translateY(0); 112 | } 113 | 25%, 114 | 75% { 115 | transform: translateY(-202px); 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /pages/lesson-css-box-model.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Box Model 7 | 20 | 21 | 22 |

CSS Box Model

23 |
24 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores aliquam 25 | repellat nulla odit modi perspiciatis minima non quidem! Consequuntur quo 26 | ipsum rerum voluptatem voluptatum reiciendis numquam in. Sunt, consectetur 27 | eos reiciendis molestias minima dicta necessitatibus, nulla modi ducimus, 28 | itaque commodi quis sequi iste vitae facere aperiam atque nobis dolore 29 | tempore? Minima sapiente eligendi eos ut quae dolorum, quia sit, minus 30 | quibusdam veritatis illum itaque vel adipisci repellat earum maiores hic 31 | assumenda, asperiores expedita dicta. Suscipit autem adipisci, aliquid 32 | beatae quibusdam itaque, tempore labore quidem deleniti officia ex 33 | architecto consequuntur reiciendis libero et dolores debitis velit minus, 34 | voluptatem quo eaque enim! 35 |
36 |
37 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo 38 | doloremque eaque fuga adipisci possimus distinctio rem nihil repudiandae. 39 | Quod suscipit inventore cum, ducimus saepe, ipsam obcaecati ea error aut 40 | exercitationem autem! Ab dolores molestias rerum aperiam error nesciunt 41 | perferendis natus magni eaque harum nam cumque laudantium, sunt inventore? 42 | Nisi, maxime nemo? Quae asperiores voluptatibus nisi dolores incidunt fuga 43 | neque laudantium maxime veniam, nobis natus, nemo hic maiores veritatis 44 | molestias, ea excepturi culpa corporis. Velit, consequuntur doloribus 45 | asperiores accusamus quasi tempore delectus non facere numquam repellendus 46 | ex minus repellat laborum quibusdam corrupti, beatae alias quo sed 47 | commodi! Repellat asperiores excepturi eligendi! 48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /js/ControlFlows.js: -------------------------------------------------------------------------------- 1 | /* JavaScript Control Flows */ 2 | 3 | /* ====== 1. if / else / else if ====== */ 4 | 5 | let number = -10; 6 | 7 | if (number > 0) { 8 | console.log("Number is Positive..."); 9 | } else if (number < 0) { 10 | console.log("Number is Negative..."); 11 | } else { 12 | console.log("Number is Zero..."); 13 | } 14 | 15 | console.log("\n=========================\n"); 16 | 17 | /* ====== 2. switch statement ====== */ 18 | 19 | let dayOfWeek = 4; 20 | let dayName; 21 | 22 | switch (dayOfWeek) { 23 | case 1: 24 | dayName = "Sunday"; 25 | break; 26 | case 2: 27 | dayName = "Monday"; 28 | break; 29 | case 3: 30 | dayName = "Tuesday"; 31 | break; 32 | case 4: 33 | dayName = "Wednesday"; 34 | break; 35 | case 5: 36 | dayName = "Thursday"; 37 | break; 38 | case 6: 39 | dayName = "Friday"; 40 | break; 41 | case 7: 42 | dayName = "Saturday"; 43 | break; 44 | default: 45 | dayName = "Invalid Day!"; 46 | break; 47 | } 48 | 49 | console.log("Day Name ::", dayName); 50 | 51 | console.log("\n=========================\n"); 52 | 53 | /* ====== 3. Loops ====== */ 54 | 55 | // i. for loop 56 | 57 | for (let i = 0; i <= 5; i++) { 58 | console.log(i); 59 | } 60 | 61 | console.log(""); 62 | 63 | // ii. while loop 64 | 65 | let i = 0; 66 | while (i <= 5) { 67 | console.log(i); 68 | i++; 69 | } 70 | 71 | console.log(""); 72 | 73 | // iii. do while loop 74 | 75 | let j = 0; 76 | do { 77 | console.log(j); 78 | j++; 79 | } while (j <= 5); 80 | 81 | console.log("\n=========================\n"); 82 | 83 | /* ====== 4. break ====== */ 84 | 85 | for (let n = 0; n < 5; n++) { 86 | if (n === 4) { 87 | break; 88 | } 89 | console.log(n); 90 | } 91 | 92 | console.log("\n=========================\n"); 93 | 94 | /* ====== 5. continue ====== */ 95 | 96 | for (let n = 0; n < 5; n++) { 97 | if (n === 3) { 98 | continue; 99 | } 100 | console.log(n); 101 | } 102 | 103 | console.log("\n=========================\n"); 104 | 105 | /* '==' Vs '===' */ 106 | 107 | // '==' -> checks only the values 108 | // '===' -> checks both values and the datatypes 109 | 110 | let num = "5"; 111 | if (num == 5) { 112 | console.log("hey"); // prints 'hey' 113 | } 114 | 115 | if (num === 5) { 116 | console.log("Hey"); // prints nothing (bcz the data types are different so unable to compare) 117 | } 118 | -------------------------------------------------------------------------------- /js/ArrowFunctions.js: -------------------------------------------------------------------------------- 1 | function addNumbersFunction(num1, num2) { 2 | return num1 + num2; 3 | } 4 | 5 | // Arrow Functions (name arrow bcz of '>') 6 | const addNumbersArrowFunction = (num1, num2) => { 7 | return num1 + num2; 8 | }; 9 | 10 | /* As a single statement can be seen in above arrow function, that arrow function can be shortned as, 11 | (Here it automatically sets return keyword) */ 12 | const addNumbersArrowFunc = (num1, num2) => num1 + num2; 13 | 14 | // Arrow function without parameters 15 | const sayHellow = () => "Hellow World"; 16 | 17 | console.log(addNumbersFunction(10, 20)); 18 | console.log(addNumbersArrowFunction(10, 20)); 19 | console.log(addNumbersArrowFunc(10, 20)); 20 | console.log(sayHellow()); 21 | 22 | console.log("\n=============================\n"); 23 | 24 | /* Converting named function to arrow function */ 25 | 26 | function addNumbers(num1, num2) { 27 | return num1 + num2; 28 | } 29 | console.log(addNumbers(10, 20)); 30 | 31 | const addNumber = (num1, num2) => num1 + num2; 32 | console.log(addNumber(10, 20)); 33 | 34 | console.log("\n=============================\n"); 35 | 36 | /* Converting anonymous function to arrow function */ 37 | 38 | let multiplyNumbers = function (num1, num2) { 39 | return num1 * num2; 40 | }; 41 | console.log(multiplyNumbers(10, 20)); 42 | 43 | const multiplyNumber = (num1, num2) => num1 * num2; 44 | console.log(multiplyNumber(10, 20)); 45 | 46 | console.log("\n=============================\n"); 47 | 48 | /* Converting constructor function to arrow function */ 49 | /** 50 | * syntax wise this is possible 51 | * BUT, DON"T DO THIS 52 | * Bcz it doesn't supports 'this' and 'new' keywords' normal behaviour while using arrow functions 53 | */ 54 | function Student(name, age, email) { 55 | this.name = name; 56 | this.age = age; 57 | this.email = email; 58 | } 59 | 60 | const student = (name, age, email) => { 61 | this.name = name; 62 | this.age = age; 63 | this.email = email; 64 | }; 65 | 66 | let student1 = new Student("Nisal", 20, "nisal@gmail.com"); 67 | console.log(student); 68 | 69 | console.log("\n=============================\n"); 70 | 71 | /* Converting callback function to arrow function */ 72 | 73 | function firstFunction(callBack) { 74 | callBack(); 75 | } 76 | 77 | function secondFunction() { 78 | console.log("Second Fuction Calling..."); 79 | } 80 | firstFunction(secondFunction); 81 | 82 | let firstFunc = (callBack) => callBack(); 83 | 84 | let secondFunc = () => console.log("Second Fuction Calling..."); 85 | 86 | firstFunc(secondFunc); 87 | 88 | /** in arrow function delcartion, if it has only a parameter; it is no need to keep round barckets around parameteres, if it placed ; no problem */ 89 | let functionOne = (callBack) => callBack(); 90 | -------------------------------------------------------------------------------- /js/TypeOfFunctions.js: -------------------------------------------------------------------------------- 1 | /* Types Of Functions */ 2 | 3 | // 1. Named Functions 4 | function addNumber(num1, num2) { 5 | return num1 + num2; 6 | } 7 | console.log(addNumber(10, 20)); 8 | 9 | console.log("\n===========================\n"); 10 | 11 | // 2. Anonymous Functions -> a function type without name 12 | let multiplyNumbers = function (num1, num2) { 13 | return num1 * num2; 14 | }; 15 | console.log(multiplyNumbers(10, 20)); // here, the anonymous function is called via its varibale name 16 | 17 | console.log("\n===========================\n"); 18 | 19 | // 3. Arrow Functions 20 | let substractNumbers = (num1, num2) => { 21 | return num1 - num2; 22 | }; 23 | console.log(substractNumbers(20, 10)); 24 | 25 | /* if single statement present within arrow function; able to be simlpify as, */ 26 | let substractNumber = (num1, num2) => num1 - num2; 27 | console.log(substractNumber(20, 10)); 28 | 29 | console.log("\n===========================\n"); 30 | 31 | // 4. Constructor Functions 32 | function Student(name, age, email) { 33 | this.name = name; 34 | this.age = age; 35 | this.email = email; 36 | } 37 | let student1 = new Student("Nisal", 20, "nisal@gmail.com"); 38 | console.log(student1); 39 | 40 | console.log("\n===========================\n"); 41 | 42 | // 5. Callback Functions 43 | function myFunction(number) { 44 | console.log(number); 45 | } 46 | myFunction(100); 47 | 48 | console.log( 49 | "\nWe're able to pass an object to a function to catch as a parameter \n" 50 | ); 51 | 52 | let person = { 53 | name: "Nisal", 54 | age: 22, 55 | }; 56 | myFunction(person); 57 | 58 | console.log( 59 | "\nWe're able to pass an array to a function to catch as a parameter \n" 60 | ); 61 | 62 | let numberArray = [1, 2, 3, 4, 5]; 63 | myFunction(numberArray); 64 | 65 | console.log( 66 | "\nWe're able to pass a function to a function to catch as a parameter\n", 67 | "so that via first function its possible to call the second function \n" 68 | ); 69 | 70 | function firstFunction(callBack) { 71 | callBack(); 72 | } 73 | 74 | function secondFunction() { 75 | console.log("Second Fuction Calling..."); 76 | } 77 | firstFunction(secondFunction); 78 | 79 | console.log("\n===========================\n"); 80 | 81 | // 6. Recursive Functions -> call the function itself again and again 82 | function factorial(n) { 83 | if (n === 0) { 84 | return 1; 85 | } 86 | return n * factorial(n - 1); 87 | } 88 | console.log(factorial(5)); 89 | 90 | console.log("\n===========================\n"); 91 | 92 | /* It is unable to pass a value rather than a function to a parameter which believes a function */ 93 | // firstFunction(person); // TypeError: callBack is not a function 94 | 95 | /* the above error can be resolved as; */ 96 | function firstFunctionModified(callBack) { 97 | if (typeof callBack === "function") { 98 | callBack(); 99 | } else { 100 | console.log(typeof callBack); 101 | } 102 | } 103 | firstFunctionModified(person); 104 | firstFunctionModified(secondFunction); 105 | -------------------------------------------------------------------------------- /exercises/css/exercise-10.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: sans-serif; 4 | background-color: black; 5 | } 6 | 7 | h1 { 8 | color: antiquewhite; 9 | text-align: center; 10 | } 11 | 12 | .container { 13 | margin: 2% 1%; 14 | display: grid; 15 | grid-template-columns: repeat(6, 1fr); 16 | gap: 0.5%; 17 | } 18 | 19 | .card { 20 | /* width: 300px; */ 21 | height: 400px; 22 | border-radius: 12px; 23 | background-color: lightslategray; 24 | display: flex; 25 | flex-direction: column; 26 | } 27 | 28 | .card-heading { 29 | width: 100%; 30 | height: 20%; 31 | display: flex; 32 | } 33 | 34 | .image-box { 35 | width: 22.5%; 36 | height: 80%; 37 | margin: 5% 0% 5% 5%; 38 | border-radius: 50%; 39 | background-color: white; 40 | display: flex; 41 | justify-content: center; 42 | align-items: center; 43 | } 44 | 45 | .image-box img { 46 | width: 60%; 47 | object-fit: cover; 48 | border-radius: 50%; 49 | } 50 | 51 | .star-box { 52 | width: 77%; 53 | height: 78%; 54 | margin: 5%; 55 | border-radius: 12px; 56 | background-color: white; 57 | display: flex; 58 | justify-content: center; 59 | align-items: center; 60 | } 61 | 62 | .star-box img { 63 | width: 15%; 64 | } 65 | 66 | .card-description { 67 | width: 100%; 68 | height: 80%; 69 | display: flex; 70 | justify-content: center; 71 | align-items: center; 72 | } 73 | 74 | .content-box { 75 | width: 90%; 76 | height: 90%; 77 | border-radius: 12px; 78 | background-color: white; 79 | display: flex; 80 | flex-direction: column; 81 | } 82 | 83 | .content { 84 | width: 100%; 85 | height: 90%; 86 | } 87 | 88 | .content p { 89 | padding: 8%; 90 | margin: 0; 91 | } 92 | 93 | .scrollable-review { 94 | max-height: 100%; 95 | overflow-y: auto; 96 | } 97 | 98 | .name-box { 99 | width: 100%; 100 | height: 30%; 101 | display: flex; 102 | align-items: center; 103 | } 104 | 105 | .name-box p { 106 | padding-left: 64%; 107 | margin: 0; 108 | } 109 | 110 | /* 0 - 575 => 1 card */ 111 | @media screen and (max-width: 575px) { 112 | .container { 113 | grid-template-columns: repeat(1, 1fr); 114 | } 115 | } 116 | 117 | /* 576 - 767 => 2 cards */ 118 | @media screen and (min-width: 576px) and (max-width: 767px) { 119 | .container { 120 | grid-template-columns: repeat(2, 1fr); 121 | } 122 | } 123 | 124 | /* 768 - 991 => 3 cards */ 125 | @media screen and (min-width: 768px) and (max-width: 991px) { 126 | .container { 127 | grid-template-columns: repeat(3, 1fr); 128 | } 129 | } 130 | 131 | /* 992 - 1199 => 4 cards */ 132 | @media screen and (min-width: 992px) and (max-width: 1199px) { 133 | .container { 134 | grid-template-columns: repeat(4, 1fr); 135 | } 136 | } 137 | 138 | /* 1200 - 1399 => 5 cards */ 139 | @media screen and (min-width: 1200px) and (max-width: 1399px) { 140 | .container { 141 | grid-template-columns: repeat(5, 1fr); 142 | } 143 | } 144 | 145 | /* 1400 onwards => 6 cards */ 146 | /* @media screen and (min-width: 1400px) { 147 | .container { 148 | grid-template-columns: repeat(6, 1fr); 149 | } 150 | } */ 151 | -------------------------------------------------------------------------------- /exercises/pages/exercise-03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise - 03 7 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 40 | 41 | 42 | 43 | 46 | 47 | 48 | 49 | 52 | 53 | 54 | 55 | 58 | 59 | 60 | 61 | 62 | 65 | 66 | 67 | 75 | 76 | 77 | 80 | 81 | 82 |
Personal Information
Name: 33 | 34 |
Age: 38 | 39 |
Address: Street: 44 | 45 |
City: 50 | 51 |
Zip Code: 56 | 57 |
63 | Additional Information 64 |
68 | 74 |
78 | 79 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 96 | 97 | 98 | 99 | 102 | 103 | 104 | 105 | 106 | 109 | 110 | 111 | 112 | 115 | 116 | 117 | 118 | 121 | 122 | 123 | 124 | 125 | 126 | 129 | 130 | 131 | 134 | 135 |
Personal Information
Name : 94 | 95 |
Age : 100 | 101 |
AdressStreet : 107 | 108 |
City : 113 | 114 |
Zip Code : 119 | 120 |
Additional Information
127 | 128 |
132 | 133 |
136 | 137 | -------------------------------------------------------------------------------- /pages/lesson-html-semantics.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Text Semantics 7 | 8 | 9 | 10 |

========== Heading Elements ==========

11 |

Heading 1

12 |

Heading 2

13 |

Heading 3

14 |

Heading 4

15 |
Heading 5
16 |
Heading 6
17 | 18 |

19 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 20 | Obcaecati temporibus laudantium quod ipsam quaerat assumenda delectus quis eum, 21 | amet optio placeat exercitationem molestiae repellat odio dolorem officia quos quo? 22 | Est nostrum dicta sunt quisquam. 23 | Fugiat, doloremque autem inventore est alias voluptatum reiciendis optio 24 | suscipit porro consequatur earum ad dolor blanditiis impedit eum quod placeat 25 | perspiciatis enim quaerat excepturi ea sequi reprehenderit libero! Natus, 26 | dolorum! Nisi unde officiis quo excepturi totam vitae veritatis illum molestiae aliquam! 27 | Veritatis nostrum modi provident! Asperiores ut, cumque necessitatibus qui 28 | officiis quidem iusto sapiente non quisquam, excepturi nobis, commodi aliquid consequuntur corrupti nisi. 29 | Nihil, dolorum ea? 30 |

31 | 32 | 33 | 37 | google Web 38 | 39 |

40 | Home 41 | 42 | 43 |

44 | Lorem dolor sit amet consectetur adipisicing elit. 45 | Obcaecati temporibus laudantium quod ipsam quaerat assumenda delectus quis eum, 46 | amet optio placeat exercitationem molestiae repellat odio dolorem officia quos quo? 47 | Est nostrum dicta sunt quisquam. 48 | Fugiat, doloremque autem inventore est alias voluptatum reiciendis optio 49 | suscipit porro consequatur earum ad dolor blanditiis impedit eum quod placeat 50 | perspiciatis enim quaerat excepturi ea sequi reprehenderit libero! Natus, 51 | dolorum! Nisi unde officiis quo excepturi totam vitae veritatis illum molestiae aliquam! 52 | Veritatis nostrum modi provident! Asperiores ut, cumque necessitatibus qui 53 | officiis quidem iusto sapiente non quisquam, excepturi nobis, commodi aliquid consequuntur corrupti nisi. 54 | Nihil, dolorum ea? 55 |

56 | 57 | 58 |

============== Blockquote Elements =============

59 | 60 |
61 | Lorem ipsum dolor, 62 | sit amet consectetur adipisicing elit. 63 | Voluptatem, maxime sed reprehenderit soluta, praesentium 64 | cum doloribus repudiandae fugit dignissimos alias molestiae officiis quaerat, 65 | ipsa iusto vero provident adipisci totam delectus. 66 |
67 | 68 | 69 |

=============== Cite Element ==============

70 | 71 | 72 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 73 | In reprehenderit, sint aliquam sed blanditiis molestias 74 | ea error impedit rem ducimus nisi, voluptatem possimus maiores. 75 | Error quod perferendis voluptate perspiciatis ipsa? 76 | 77 | 78 | 79 |

=============== Highlighting Element =============

80 | 81 |

82 | Lorem ipsum sit amet consectetur adipisicing elit. 83 | Iure in reiciendis ab ratione, cum consequatur qui eligendi corrupti, 84 | cumque at natus molestiae animi veritatis magnam minus quisquam voluptate. 85 | Voluptatum, eos. 86 |

87 | 88 | 89 |

================ sub and sup tag ==============

90 | 91 |

H2O

92 |

10th February 2024

93 | 94 | -------------------------------------------------------------------------------- /pages/lesson-structural.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Leeson - Structural Elements 7 | 8 | 9 |

--- Structural HTML Elements ---

10 |
11 | 12 | 14 |

======== 1. div tag ========

15 |
16 |

Main Backend Technologies

17 |
    18 |
  • Java
  • 19 |
  • Python
  • 20 |
  • Nodejs
  • 21 |
22 |
23 |
24 | 25 | 27 |

======== 2. span tag ========

28 |

29 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. 30 | Facilis reiciendis doloribus distinctio commodi a eos, 31 | accusantium veniam, quia dolorem unde soluta nostrum aliquid 32 | facere veritatis eligendi cupiditate voluptas provident 33 | beatae vel fugiat totam fuga! Nihil, doloremque sapiente 34 | minima tempora similique, laboriosam odio maxime quidem, 35 |

36 |
37 | 38 | 39 |

======== 3. nav tag ========

40 | 48 |
49 | 50 | 52 |

======== 4. header tag ========

53 |
54 |

Welcome to HTML 5 !!

55 | 63 |
64 |
65 | 66 | 67 |

======== 5. footer tag ========

68 |
69 |

© All Rights Reserved

70 |
71 |
72 | 73 | 75 |

======== 6. article tag ========

76 |
77 |

Blog post title

78 |

79 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. 80 | Facilis reiciendis doloribus distinctio commodi a eos, 81 | accusantium veniam, quia dolorem unde soluta nostrum aliquid 82 | facere veritatis eligendi cupiditate voluptas provident 83 | beatae vel fugiat totam fuga! Nihil, doloremque sapiente 84 | minima tempora similique, laboriosam odio maxime quidem, 85 |

86 |
87 |
88 | 89 | 90 |

======== 6. section tag ========

91 |
92 |

Section Title

93 |

94 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. 95 | Facilis reiciendis doloribus distinctio commodi a eos, 96 | accusantium veniam, quia dolorem unde soluta nostrum aliquid 97 | facere veritatis eligendi cupiditate voluptas provident 98 | beatae vel fugiat totam fuga! Nihil, doloremque sapiente 99 | minima tempora similique, laboriosam odio maxime quidem, 100 |

101 |
102 | 103 | -------------------------------------------------------------------------------- /exercises/pages/exercise-04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise - 04 7 | 8 | 9 | 10 |
11 |
12 |

Cartoon 1

13 | card-image 14 |

15 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 16 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 17 | consequatur nostrum sequi autem modi architecto expedita totam 18 | praesentium illum. Ipsam, sint. 19 |

20 |
21 |
22 |

Cartoon 2

23 | card-image 24 |

25 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 26 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 27 | consequatur nostrum sequi autem modi architecto expedita totam 28 | praesentium illum. Ipsam, sint. 29 |

30 |
31 |
32 |

Cartoon 3

33 | card-image 34 |

35 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 36 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 37 | consequatur nostrum sequi autem modi architecto expedita totam 38 | praesentium illum. Ipsam, sint. 39 |

40 |
41 |
42 |

Cartoon 4

43 | card-image 44 |

45 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 46 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 47 | consequatur nostrum sequi autem modi architecto expedita totam 48 | praesentium illum. Ipsam, sint. 49 |

50 |
51 |
52 |
53 |
54 |

Cartoon 5

55 | card-image 56 |

57 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 58 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 59 | consequatur nostrum sequi autem modi architecto expedita totam 60 | praesentium illum. Ipsam, sint. 61 |

62 |
63 |
64 |

Cartoon 6

65 | card-image 66 |

67 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 68 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 69 | consequatur nostrum sequi autem modi architecto expedita totam 70 | praesentium illum. Ipsam, sint. 71 |

72 |
73 |
74 |

Cartoon 7

75 | card-image 76 |

77 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 78 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 79 | consequatur nostrum sequi autem modi architecto expedita totam 80 | praesentium illum. Ipsam, sint. 81 |

82 |
83 |
84 |

Cartoon 8

85 | card-image 86 |

87 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Accusantium 88 | cum minus, provident dolorum dignissimos vitae, quas, aliquid vero 89 | consequatur nostrum sequi autem modi architecto expedita totam 90 | praesentium illum. Ipsam, sint. 91 |

92 |
93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /exercises/pages/exercise-08.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise-08 7 | 8 | 9 | 10 | 11 |
12 |
13 | logo-image 14 |

Gayanuka Bulegoda

15 |
16 | 24 |
25 | 26 | 27 |
28 |
29 |

Hey there!

30 |

31 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam, 32 | temporibus eius. Eaque beatae voluptatibus, repudiandae tempore 33 | consequatur voluptates. Corporis, asperiores provident totam quas ipsa 34 | at ullam! Asperiores tempore magnam architecto! 35 |

36 | 50 |
51 |
52 | intro-image 53 |
54 |
55 | 56 | 57 |
58 |

My Technology Stack

59 |
60 |
61 | html-image 62 |

HTML

63 |
64 |
65 | html-image 70 |

HTML

71 |
72 |
73 | html-image 78 |

HTML

79 |
80 |
81 | html-image 86 |

HTML

87 |
88 |
89 | html-image 94 |

HTML

95 |
96 |
97 | html-image 102 |

HTML

103 |
104 |
105 | html-image 110 |

HTML

111 |
112 |
113 | html-image 118 |

HTML

119 |
120 |
121 |
122 | 123 | 124 | -------------------------------------------------------------------------------- /js/ElementSelectors.js: -------------------------------------------------------------------------------- 1 | console.log("Hey there!!!"); 2 | 3 | // ========= ID Selector ========= 4 | 5 | /** 6 | * in-order to catch an elemnet by id wihch is present in html via js 7 | * we can use getElementById("") function 8 | * unique vlaue will returns from the function 9 | */ 10 | 11 | /** 12 | * document.getElemnetById function returns only a value in all instances 13 | * if there are many instances where same id repeat again and again, getElementById catch only the first element which has the same id; 14 | * other elements will not use via the function 15 | */ 16 | let calculateButton = document.getElementById("btnCalculate"); 17 | console.log(calculateButton); 18 | 19 | calculateButton.style.backgroundColor = "lightcyan"; 20 | calculateButton.style.border = "5px solid darkslategray"; 21 | calculateButton.style.borderRadius = "20px"; 22 | calculateButton.style.cursor = "pointer"; 23 | 24 | // event listner button click event 25 | calculateButton.addEventListener("click", function () { 26 | alert("You have clicked button-01 !!"); 27 | }); 28 | 29 | // event listner function as an arrow function 30 | calculateButton.addEventListener("click", () => console.log("Hellow!")); 31 | 32 | // event listener for mouseenter event (hover) 33 | calculateButton.addEventListener("mouseenter", function () { 34 | calculateButton.style.backgroundColor = "lightblue"; 35 | }); 36 | 37 | // event listener for mouseleave event (end of hover) 38 | calculateButton.addEventListener("mouseleave", function () { 39 | calculateButton.style.backgroundColor = "lightcyan"; 40 | }); 41 | 42 | // ========= Class selector ========= 43 | 44 | /** 45 | * in-order to catch an elemnet by class name wihch is present in html via js 46 | * we can use getElementByClassName("") function 47 | * list of values which has the same class name will return from the function 48 | * (returns the list as a HTMLCollection) 49 | */ 50 | let boxes = document.getElementsByClassName("box"); 51 | console.log(boxes); 52 | 53 | // Loop through each element in the collection (bcz getElementsByClassName("box") returns a collection of elements) 54 | for (let i = 0; i < boxes.length; i++) { 55 | boxes[i].style.width = "20rem"; 56 | boxes[i].style.height = "10rem"; 57 | boxes[i].style.backgroundColor = "lightcyan"; 58 | boxes[i].style.border = "5px solid darkslategray"; 59 | boxes[i].style.borderRadius = "20px"; 60 | } 61 | 62 | // ========= Tag selector ========= 63 | 64 | /** 65 | * in-order to catch an elemnet by tag which is present in html via js 66 | * we can use getElementByTagName("") function 67 | * list of values which has the same tag will returns from the function 68 | * (returns the list as a HTMLCollection) 69 | */ 70 | let headingOnes = document.getElementsByTagName("h1"); 71 | console.log(headingOnes); 72 | 73 | // Convert HTMLCollection to array and use forEach to loop through each element 74 | Array.from(headingOnes).forEach((heading) => { 75 | heading.style.backgroundColor = "lightcyan"; 76 | heading.style.color = "darkslategray"; 77 | heading.style.padding = "2%"; 78 | heading.style.margin = "0 0 2% 0"; 79 | heading.style.textAlign = "center"; 80 | heading.style.textDecorationLine = "underline"; 81 | heading.style.textDecorationStyle = "double"; 82 | heading.style.textDecorationThickness = "1.5px"; 83 | }); 84 | 85 | let bodies = document.getElementsByTagName("body"); 86 | 87 | // Loop through each element in the collection using for...of loop 88 | // (for...of loop -> just like for-each) 89 | for (let oneBody of bodies) { 90 | oneBody.style.fontFamily = "Arial, Helvetica, sans-serif"; 91 | oneBody.style.margin = "0"; 92 | oneBody.style.animation = "body-background 2.2s ease infinite"; 93 | } 94 | 95 | // ========= Query selector ========= 96 | 97 | // querySelector() 98 | let button = document.querySelector('#btnCalculate') 99 | console.log(button); 100 | 101 | let theBox = document.querySelector('.box') // returns only first element 102 | console.log(theBox); 103 | 104 | let theHeading = document.querySelector('h1') 105 | console.log(theHeading); 106 | 107 | // querySelectorAll 108 | let theBoxes = document.querySelectorAll('.box') // returns all elements having same '.box' class name 109 | console.log(theBoxes); 110 | 111 | // selecting first element having same class name inside a parent element 112 | let firstBox = document.querySelector('#box-container .box') 113 | console.log(firstBox); 114 | 115 | // selecting all elements having same class name inside a parent element 116 | let boxSet = document.querySelectorAll('#box-container .box') 117 | console.log(boxSet); -------------------------------------------------------------------------------- /pages/lesson-html-tables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - Tables 7 | 20 | 21 | 22 |

====== Simple HTML Table =====

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 |
First Name Last Name Contact No Email City
NisalPerera0702410876nisal@gmail.comMatara
WimalSilva0772410876wimal@gmail.comGalle
51 |
52 |

====== Table with Head, Body, Foot ======

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 |
Item NameQuantityUnit price
Graphic Card02040000.00
Mother Board02040000.00
Total80000.00
80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
1234
5678
9101112
13141516
107 |
108 |

========== Merge Columns (Table colspan) ===========

109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |
134
56
91012
1316
129 |
130 |

=========== Merge Rows (Table rowspan) ============

131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 |
1234
678
912
15
151 | 152 | -------------------------------------------------------------------------------- /js/ArrayBuiltInFunctions.js: -------------------------------------------------------------------------------- 1 | let studentNames = ["Kamal", "Nimal", "Vimal"]; 2 | console.log("Student Names Array :", studentNames, "\n"); 3 | 4 | /* Array Built-In Functions */ 5 | 6 | /* 1.push() - adds one or more elements to the (end of) array */ 7 | studentNames.push("John"); 8 | console.log("Student Names Array :", studentNames); 9 | 10 | studentNames.push("Nisal", "Richard"); 11 | console.log("Student Names Array :", studentNames); 12 | 13 | console.log("\n===============================\n"); 14 | 15 | /* 2.pop() - removes the last element from an array and returns that element 16 | (so that we are able to assign that returned value to a variable) 17 | (Ex:- in an instance we want to delete last element from an array and need to print it) */ 18 | let poppedName = studentNames.pop(); 19 | console.log("Popped name :", poppedName); 20 | console.log("Student Names Array :", studentNames); 21 | 22 | console.log("\n===============================\n"); 23 | 24 | /* 3.shift() - removes the first element from an array and returns that element 25 | (so that we are able to assign that returned value to a variable) 26 | (Ex:- in an instance we want to delete first element from an array and need to print it) */ 27 | let shiftedName = studentNames.shift(); 28 | console.log("Shifted name :", shiftedName); 29 | console.log("Student Names Array :", studentNames); 30 | console.log("0 index after shifted : ", studentNames[0]); 31 | 32 | console.log("\n===============================\n"); 33 | 34 | /* 4.unshift() - adds one or more elements to the begining of the array */ 35 | studentNames.unshift("John"); 36 | console.log("Student Names Array (after unshifted) :", studentNames); 37 | 38 | studentNames.unshift("Cool", "Sadun"); 39 | console.log("Student Names Array (after unshifted) :", studentNames); 40 | 41 | console.log("\n===============================\n"); 42 | 43 | /* 5.concat() - combines two or more arrays and returns a new array 44 | (without modifying the existing arrays) */ 45 | let maleNames = ["Dimuth", "Kusal", "Pathum"]; 46 | let femaleNames = ["Vimala", "Kamala", "Nisali"]; 47 | 48 | let teamNames = maleNames.concat(femaleNames); 49 | console.log("TeamNames Array :", teamNames); 50 | 51 | console.log("\n===============================\n"); 52 | 53 | /* 6.slice() - returns copy of a portion of an array into a new array 54 | (creates an another array by gaining values from the index we given) */ 55 | let fruits = ["apple", "mango", "orange", "avacado"]; 56 | console.log("Array after sliced from 0 index :", fruits.slice(0)); 57 | console.log("Array after sliced from 1 index :", fruits.slice(1)); 58 | console.log("Array after sliced from 2 index :", fruits.slice(2)); 59 | console.log("Array after sliced from 3 index :", fruits.slice(3)); 60 | 61 | console.log("\n===============================\n"); 62 | 63 | /* 7.splice() - changes the contents of an array by removing or replacing 64 | existing elements and / or adding new elements */ 65 | let fruitsArray = ["apple", "mango", "orange", "avacado"]; 66 | fruitsArray.splice(2, 1, "banana"); 67 | console.log("Fruits Array after spliced :", fruitsArray); 68 | // The first argument 2 represents the index at which the modification will start. In this case, it starts at index 2, which corresponds to the third element in the array ('orange'). 69 | // The second argument 1 specifies the number of elements to remove from the array starting from the index specified. In this case, it removes 1 element from index 2, which is 'orange'. 70 | // The third and any subsequent arguments represent the elements to be added to the array starting from the index specified. In this case, 'banana' is added at index 2. 71 | 72 | console.log("\n===============================\n"); 73 | 74 | /* 8.reverse() - order the array in reverse order */ 75 | let letters = ["a", "b", "c", "d"]; 76 | console.log("Lettres Array :", letters); 77 | console.log("Lettres Array :", letters.reverse()); 78 | 79 | console.log("\n===============================\n"); 80 | 81 | /* 9.sort() - sorting the array in ascending (or descending) order 82 | (here it is sorted according to the unicode value of the relevant character or character set) */ 83 | let numbers = [10, 40, 30, 90, 20]; 84 | console.log("Numbers Array :", numbers); 85 | 86 | /* sort in ascending order (sort() -> default = ascending order) */ 87 | console.log("Numbers Array after sorted :", numbers.sort()); 88 | 89 | /* sort in decending order */ 90 | console.log("Numbers Array after sorted :", numbers.sort().reverse()); 91 | 92 | console.log("\n===============================\n"); 93 | 94 | /* As JavaScript is not a type safe language, 95 | it is possible to assign values with different data types to an array */ 96 | let testingArray = ["Amal", "Nisal", "Wimal", 100]; 97 | console.log("testingArray : " + testingArray); 98 | console.log("testingArray 0 index data type :", typeof testingArray[0]); 99 | console.log("testingArray 3 index data type :", typeof testingArray[3]); 100 | -------------------------------------------------------------------------------- /exercises/pages/exercise-06.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Exercise - 06 7 | 8 | 9 | 10 |

Customer Reviews

11 |
12 |
13 |
14 |
15 | profile image 16 |

HTML - CSS Practice Model
(FlexBox)

17 |
18 |
19 |

20 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 21 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 22 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 23 | laudantium eum quidem? 24 |

25 |
26 |
27 | 28 |
29 |
30 | profile image 31 |

HTML - CSS Practice Model
(FlexBox)

32 |
33 |
34 |

35 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 36 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 37 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 38 | laudantium eum quidem? 39 |

40 |
41 |
42 | 43 |
44 |
45 | profile image 46 |

HTML - CSS Practice Model
(FlexBox)

47 |
48 |
49 |

50 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 51 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 52 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 53 | laudantium eum quidem? 54 |

55 |
56 |
57 | 58 |
59 |
60 | profile image 61 |

HTML - CSS Practice Model
(FlexBox)

62 |
63 |
64 |

65 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 66 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 67 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 68 | laudantium eum quidem? 69 |

70 |
71 |
72 |
73 | 74 |
75 |
76 |
77 | profile image 78 |

HTML - CSS Practice Model
(FlexBox)

79 |
80 |
81 |

82 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 83 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 84 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 85 | laudantium eum quidem? 86 |

87 |
88 |
89 | 90 |
91 |
92 | profile image 93 |

HTML - CSS Practice Model
(FlexBox)

94 |
95 |
96 |

97 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 98 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 99 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 100 | laudantium eum quidem? 101 |

102 |
103 |
104 | 105 |
106 |
107 | profile image 108 |

HTML - CSS Practice Model
(FlexBox)

109 |
110 |
111 |

112 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 113 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 114 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 115 | laudantium eum quidem? 116 |

117 |
118 |
119 | 120 |
121 |
122 | profile image 123 |

HTML - CSS Practice Model
(FlexBox)

124 |
125 |
126 |

127 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Id 128 | minima aperiam distinctio illum quasi, quos ipsam dolore quibusdam 129 | quam blanditiis fugit, expedita quia deserunt, est ipsa ullam 130 | laudantium eum quidem? 131 |

132 |
133 |
134 |
135 |
136 | 137 | 138 | -------------------------------------------------------------------------------- /pages/lesson-css-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Text 7 | 11 | 16 | 17 | 18 |

Text Styling

19 |
20 | 21 | =========== 1. font-family =========== 22 | 23 | 24 | 25 |

Hellow World!!!

26 |
27 | 28 | =========== 2. font-size =========== 29 | 30 |

Hellow World !!!

31 |

Hellow World !!!

32 |

Hellow World !!!

33 |
34 | 35 | =========== 3. font-weight =========== 36 | 37 |

Hellow World !!!

38 |

Hellow World !!!

39 |

Hellow World !!!

40 |

Hellow World !!!

41 |
42 | 43 | =========== 4. font-style =========== 44 | 45 |

Hellow World !!!

46 |

Hellow World !!!

47 |

Hellow World !!!

48 |
49 | 50 | =========== 5. font-color =========== 51 | 52 |

Hellow World !!!

53 |

Hellow World !!!

54 |

Hellow World !!!

55 |
56 | 57 | =========== 6. text-align =========== 58 | 59 |

60 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 61 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 62 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 63 | ratione doloribus doloremque? 64 |

65 | 66 |

67 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 68 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 69 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 70 | ratione doloribus doloremque? 71 |

72 | 73 |

74 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 75 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 76 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 77 | ratione doloribus doloremque? 78 |

79 | 80 |

81 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 82 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 83 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 84 | ratione doloribus doloremque? 85 |

86 | 87 |

88 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 89 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 90 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 91 | ratione doloribus doloremque? 92 |

93 | 94 |

95 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum 96 | perferendis recusandae animi ipsam. Optio quae odit illum fugiat sequi est 97 | tempore possimus, exercitationem maxime voluptate voluptatem delectus, 98 | ratione doloribus doloremque? 99 |

100 |
101 | 102 | =========== 7. text-decoration =========== 103 | 104 |

Hello World !!!

105 |

Hello World !!!

106 |

Hello World !!!

107 |

Hello World !!!

108 |

Hello World !!!

109 |

Hello World !!!

110 |
111 | 112 | =========== 8. text-transform =========== 113 |

Hello World !!!

114 |

Hello World !!!

115 |

Hello World !!!

116 |
117 | 118 | =========== 9. line-height =========== 119 |

Hello World !!!

120 |

Hello World !!!

121 |

Hello World !!!

122 |

Hello World !!!

123 |
124 | 125 | =========== 10. letter-spacing =========== 126 |

127 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, corrupti. 128 |

129 |

130 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, corrupti. 131 |

132 |
133 | 134 | =========== 11. word-spacing =========== 135 | 136 |

137 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, corrupti. 138 |

139 |

140 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, corrupti. 141 |

142 |
143 | 144 | =========== 12. text-shadow =========== 145 |

146 | (Horizontal offset - shadow of right of the text, Vertical offset - 147 | downwards from the text. blur radius - amount of blur applied, shadow color) 148 |

Hello World !!!

149 | 150 | 151 | -------------------------------------------------------------------------------- /pages/lesson-bootstrap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | Lesson - Bootstrap 13 | 32 | 33 | 34 | 93 | 94 |
95 |
96 | 97 | 103 |
104 | We'll never share your email with anyone else. 105 |
106 |
107 |
108 | 109 | 114 |
115 |
116 | 117 | 118 |
119 | 120 |
121 | 122 | 165 | 166 | 171 | 172 | 173 | -------------------------------------------------------------------------------- /pages/lesson-css-selectors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Selectors 7 | 8 | 9 | 10 |

CSS Selectors

11 |
12 | 13 | ======== 1. Element Selector ======== 14 | 15 |

Element Selector

16 |
17 | 18 | ======== 2. ID Selector ======== 19 | 20 |

ID Selector

21 |
22 | 23 | ======== 3. Class Selector ======== 24 | 25 |

Class Selector

26 |

Class Selector

27 |

Class Selector

28 |
29 | 30 | ======== 4. Attribute Selector ======== 31 | 32 |

33 | 34 |
35 | 36 |


37 | 38 | ======== 5. Pseudo classes selector ======== 39 | 40 |

41 | 42 |


43 | 44 | ======== 6. Pseudo elements selector ======== 45 | 46 |

47 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempora laborum 48 | tempore, eveniet veniam nobis magnam sequi aspernatur laudantium rem 49 | beatae esse architecto nihil, dolores consequuntur! Iste non deleniti modi 50 | architecto accusamus reprehenderit at facere minima dolor, quod iusto quas 51 | dolores asperiores tenetur officia ipsam officiis, possimus itaque odit 52 | repellat voluptatibus. Corporis, molestias? Animi illum modi assumenda 53 | ratione, dolore tempore esse non similique veniam quia, pariatur quidem 54 | quo, qui hic ducimus sed delectus labore repudiandae enim? Nobis totam ad 55 | aliquid accusantium ipsam iste maiores deleniti optio nam. Quam ipsa minus 56 | veniam ad necessitatibus provident non eveniet? In impedit officiis 57 | quisquam odio! 58 |

59 |
60 | 61 | ======== 7. Descendant selector (White-space combinator) ======== 62 | 63 |
64 |

65 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Esse 66 | consequatur ducimus culpa, aliquam sunt unde quis suscipit. Dignissimos 67 | iusto esse odit ipsum magni. Officia assumenda porro molestiae 68 | necessitatibus aperiam quas debitis impedit, illo molestias quae labore 69 | quam ipsa eligendi iusto adipisci nulla reiciendis odit corporis maiores 70 | fugiat veritatis sint fugit. Sequi, perferendis repellat aliquid nostrum 71 | enim reprehenderit rerum repellendus, nam sit rem minus. Minima, 72 | expedita exercitationem molestiae fugit animi similique quaerat odio 73 | delectus quis suscipit ipsam sed tenetur obcaecati sint cum autem totam 74 | eligendi atque recusandae! Cumque sint similique fuga deserunt, dolores 75 | aut nihil ipsum tempora quasi neque facere quis. 76 |

77 |
78 |

79 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Esse 80 | consequatur ducimus culpa, aliquam sunt unde quis suscipit. 81 | Dignissimos iusto esse odit ipsum magni. Officia assumenda porro 82 | molestiae necessitatibus aperiam quas debitis impedit, illo molestias 83 | quae labore quam ipsa eligendi iusto adipisci nulla reiciendis odit 84 | corporis maiores fugiat veritatis sint fugit. Sequi, perferendis 85 | repellat aliquid nostrum enim reprehenderit rerum repellendus, nam sit 86 | rem minus. Minima, expedita exercitationem molestiae fugit animi 87 | similique quaerat odio delectus quis suscipit ipsam sed tenetur 88 | obcaecati sint cum autem totam eligendi atque recusandae! Cumque sint 89 | similique fuga deserunt, dolores aut nihil ipsum tempora quasi neque 90 | facere quis. 91 |

92 |
93 |
94 |
95 | 96 | ======== 8. Child selector ======== 97 | 98 |
99 |
Java
100 |
Python
101 |
Javascript
102 |
Typescript
103 |
104 | 105 | ======== 9. Adjacent sibling selector (+) ======== 106 | 107 |

Heading 02

108 |

109 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 110 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 111 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 112 |

113 |

114 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 115 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 116 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 117 |

118 |

119 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 120 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 121 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 122 |

123 |
124 | 125 | ======== 10. General sibling selector (~) ======== 126 | 127 |
Heading 03
128 |

129 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 130 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 131 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 132 |

133 |

134 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 135 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 136 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 137 |

138 |

139 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Adipisci 140 | numquam, maxime, neque blanditiis quas fugit nostrum ducimus iste aut odit 141 | modi quis eius vitae? Nulla iusto unde voluptates officia? Officiis! 142 |

143 | 144 | 145 | -------------------------------------------------------------------------------- /exercises/pages/exercise-10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Media Queries Example 7 | 8 | 9 | 10 |

Reviews Corner

11 |
12 |
13 |
14 |
15 | html-image 16 |
17 |
18 | star-image 19 | star-image 20 | star-image 21 | star-image 22 | star-image 23 |
24 |
25 |
26 |
27 |
28 |
29 |

30 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 31 | accusantium beatae quia rerum? Consequatur porro corporis 32 | autem vero beatae exercitationem velit sint, incidunt animi 33 | pariatur, molestiae optio veritatis est! Alias. Lorem ipsum 34 | dolor sit amet consectetur adipisicing elit. Totam accusantium 35 | beatae quia rerum? Consequatur porro corporis autem vero 36 | beatae exercitationem velit sint, incidunt animi pariatur, 37 | molestiae optio veritatis est! Alias. 38 |

39 |
40 |
41 |
42 |

Gayanuka

43 |
44 |
45 |
46 |
47 | 48 |
49 |
50 |
51 | html-image 52 |
53 |
54 | star-image 55 | star-image 56 | star-image 57 | star-image 58 | star-image 59 |
60 |
61 |
62 |
63 |
64 |

65 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 66 | accusantium beatae quia rerum? Consequatur porro corporis autem 67 | vero beatae exercitationem velit sint, incidunt animi pariatur, 68 | molestiae optio veritatis est! Alias. 69 |

70 |
71 |
72 |

Gayanuka

73 |
74 |
75 |
76 |
77 | 78 |
79 |
80 |
81 | html-image 82 |
83 |
84 | star-image 85 | star-image 86 | star-image 87 | star-image 88 | star-image 89 |
90 |
91 |
92 |
93 |
94 |

95 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 96 | accusantium beatae quia rerum? Consequatur porro corporis autem 97 | vero beatae exercitationem velit sint, incidunt animi pariatur, 98 | molestiae optio veritatis est! Alias. 99 |

100 |
101 |
102 |

Gayanuka

103 |
104 |
105 |
106 |
107 | 108 |
109 |
110 |
111 | html-image 112 |
113 |
114 | star-image 115 | star-image 116 | star-image 117 | star-image 118 | star-image 119 |
120 |
121 |
122 |
123 |
124 |

125 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 126 | accusantium beatae quia rerum? Consequatur porro corporis autem 127 | vero beatae exercitationem velit sint, incidunt animi pariatur, 128 | molestiae optio veritatis est! Alias. 129 |

130 |
131 |
132 |

Gayanuka

133 |
134 |
135 |
136 |
137 | 138 |
139 |
140 |
141 | html-image 142 |
143 |
144 | star-image 145 | star-image 146 | star-image 147 | star-image 148 | star-image 149 |
150 |
151 |
152 |
153 |
154 |

155 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 156 | accusantium beatae quia rerum? Consequatur porro corporis autem 157 | vero beatae exercitationem velit sint, incidunt animi pariatur, 158 | molestiae optio veritatis est! Alias. 159 |

160 |
161 |
162 |

Gayanuka

163 |
164 |
165 |
166 |
167 | 168 |
169 |
170 |
171 | html-image 172 |
173 |
174 | star-image 175 | star-image 176 | star-image 177 | star-image 178 | star-image 179 |
180 |
181 |
182 |
183 |
184 |

185 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam 186 | accusantium beatae quia rerum? Consequatur porro corporis autem 187 | vero beatae exercitationem velit sint, incidunt animi pariatur, 188 | molestiae optio veritatis est! Alias. 189 |

190 |
191 |
192 |

Gayanuka

193 |
194 |
195 |
196 |
197 |
198 | 199 | 200 | -------------------------------------------------------------------------------- /exercises/pages/exercise-07.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | exercise-07 7 | 8 | 9 | 10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 13 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 14 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 15 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 16 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 17 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 18 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 19 | dolores quia, similique accusamus hic nulla rerum distinctio 20 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 21 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 22 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 23 | rem totam iste enim. 24 |
25 |
26 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 27 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 28 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 29 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 30 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 31 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 32 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 33 | dolores quia, similique accusamus hic nulla rerum distinctio 34 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 35 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 36 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 37 | rem totam iste enim. 38 |
39 |
40 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 41 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 42 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 43 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 44 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 45 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 46 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 47 | dolores quia, similique accusamus hic nulla rerum distinctio 48 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 49 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 50 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 51 | rem totam iste enim. 52 |
53 |
54 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 55 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 56 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 57 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 58 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 59 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 60 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 61 | dolores quia, similique accusamus hic nulla rerum distinctio 62 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 63 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 64 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 65 | rem totam iste enim. 66 |
67 |
68 |
69 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ad 70 | voluptates excepturi, deserunt quam beatae. Libero quos architecto 71 | sint quidem.Libero quos architecto sint quidem. 72 |
73 |
74 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ad 75 | voluptates excepturi, deserunt quam beatae. Libero quos architecto 76 | sint quidem.Libero quos architecto sint quidem. 77 |
78 |
79 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Iste ad 80 | voluptates excepturi, deserunt quam beatae. Libero quos architecto 81 | sint quidem.Libero quos architecto sint quidem. 82 |
83 |
84 |
85 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 86 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 87 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 88 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 89 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 90 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 91 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 92 | dolores quia, similique accusamus hic nulla rerum distinctio 93 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 94 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 95 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 96 | rem totam iste enim. 97 |
98 |
99 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 100 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 101 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 102 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 103 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 104 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 105 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 106 | dolores quia, similique accusamus hic nulla rerum distinctio 107 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 108 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 109 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 110 | rem totam iste enim. 111 |
112 |
113 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 114 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 115 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 116 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 117 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 118 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 119 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 120 | dolores quia, similique accusamus hic nulla rerum distinctio 121 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 122 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 123 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 124 | rem totam iste enim. 125 |
126 |
127 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione, eaque 128 | aspernatur tenetur illum fuga maxime fugit numquam, laborum dolorum 129 | repellat repudiandae, officiis voluptates pariatur! Laboriosam ea 130 | repellendus officia reprehenderit cumque officiis, suscipit a excepturi 131 | mollitia reiciendis deleniti fugit pariatur unde quod aspernatur error. 132 | Nesciunt porro quam quibusdam fugit deserunt placeat assumenda aliquam 133 | itaque, deleniti nam voluptas asperiores cupiditate quidem soluta, 134 | dolores quia, similique accusamus hic nulla rerum distinctio 135 | repellendus? Rem eaque atque, laborum quae consequuntur deleniti illum 136 | delectus mollitia architecto, nihil ipsa iure. Ipsa, libero optio. 137 | Incidunt odio esse nesciunt vel facilis reprehenderit nihil. Sunt error 138 | rem totam iste enim. 139 |
140 |
141 | 142 | 143 | -------------------------------------------------------------------------------- /pages/lesson-css-position.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Lesson - CSS Position 7 | 8 | 9 | 10 |

11 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 12 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 13 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 14 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 15 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 16 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 17 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 18 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 19 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 20 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 21 | obcaecati distinctio est aliquid optio. 22 |

23 |

24 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 25 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 26 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 27 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 28 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 29 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 30 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 31 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 32 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 33 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 34 | obcaecati distinctio est aliquid optio. 35 |

36 |

37 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 38 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 39 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 40 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 41 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 42 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 43 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 44 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 45 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 46 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 47 | obcaecati distinctio est aliquid optio. 48 |

49 |

50 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 51 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 52 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 53 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 54 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 55 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 56 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 57 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 58 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 59 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 60 | obcaecati distinctio est aliquid optio. 61 |

62 |
63 |
64 |
65 |

66 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 67 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 68 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 69 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 70 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 71 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 72 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 73 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 74 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 75 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 76 | obcaecati distinctio est aliquid optio. 77 |

78 |

79 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 80 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 81 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 82 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 83 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 84 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 85 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 86 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 87 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 88 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 89 | obcaecati distinctio est aliquid optio. 90 |

91 |

92 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 93 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 94 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 95 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 96 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 97 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 98 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 99 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 100 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 101 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 102 | obcaecati distinctio est aliquid optio. 103 |

104 |

105 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 106 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 107 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 108 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 109 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 110 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 111 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 112 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 113 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 114 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 115 | obcaecati distinctio est aliquid optio. 116 |

117 |

118 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 119 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 120 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 121 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 122 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 123 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 124 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 125 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 126 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 127 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 128 | obcaecati distinctio est aliquid optio. 129 |

130 |

131 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 132 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 133 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 134 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 135 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 136 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 137 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 138 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 139 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 140 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 141 | obcaecati distinctio est aliquid optio. 142 |

143 |

144 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit 145 | incidunt facilis in unde? Iste rem voluptate dicta sapiente, dolorum 146 | maxime qui nihil voluptatem eius! Perspiciatis autem fugit fugiat 147 | explicabo illum eveniet sed fuga iste molestiae repudiandae? Nesciunt 148 | dolorem quos voluptas quas aliquam laudantium earum minima, sapiente 149 | voluptates laboriosam quae esse dolores similique optio quasi asperiores 150 | ut. Soluta ipsam ab ducimus quibusdam laborum sed provident consequatur et 151 | fugit quia voluptatem temporibus velit impedit obcaecati dolorem at rerum 152 | asperiores iure vitae, unde minima itaque nemo sapiente sit! Mollitia, 153 | iure earum. Corrupti repudiandae dolor quasi esse accusantium! Officiis 154 | obcaecati distinctio est aliquid optio. 155 |

156 | 157 | 158 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Internet Technologies 01 Code Space 2 | 3 |

4 | Welcome to the Internet Technologies 01 Code Space !
5 | Here, you'll embark on a journey to master the foundational concepts of web development, focusing on HTML, CSS, and JavaScript. 6 |

7 | 8 | ## Table of Contents 9 | 10 | - [What_you'll_learn](#What_you'll_learn) 11 | - [Repository_structure](#Repository_structure) 12 | - [Get_started](#Get_started) 13 | - [Lessons](#Lessons) 14 | - [Lesson-01](#Lesson-01) 15 | - [Lesson-02](#Lesson-02) 16 | - [Lesson-03](#Lesson-03) 17 | - [Lesson-04](#Lesson-04) 18 | - [Lesson-05](#Lesson-05) 19 | - [Lesson-06](#Lesson-06) 20 | - [Lesson-07](#Lesson-07) 21 | - [Lesson-08](#Lesson-08) 22 | - [Lesson-09](#Lesson-09) 23 | - [Lesson-10](#Lesson-10) 24 | - [Lesson-11](#Lesson-11) 25 | - [Lesson-12](#Lesson-12) 26 | - [Lesson-13](#Lesson-13) 27 | 28 | - [How_to_use_this_repository](#How_to_use_this_repository) 29 | - [License](#license) 30 | 31 | ## What_you'll_learn 32 | 33 | - HTML (Hypertext Markup Language): Understand the structure of web pages,learn how to create and organize content using elements, attributes, and semantic markup. 34 | 35 | - CSS (Cascading Style Sheets): Discover how to style your web pages, including layout design, color schemes, fonts, and responsive design techniques to ensure your pages look great on any device. 36 | 37 | - JavaScript: Dive into the world of programming for the web, learning how to create dynamic, interactive user experiences, manipulate the DOM, and implement basic algorithms and event handling. 38 | 39 | ## Repository_structure 40 | 41 | This repository is organized into distinct branches, each dedicated to a specific topic or project. 42 | By exploring each branch, you'll gain hands-on experience and a deeper understanding of the core principles that underpin modern web development. 43 | 44 | ## Get_started 45 | 46 | Embark on your learning journey with us and build a solid foundation in HTML, CSS, and JavaScript. 47 | Whether you're a beginner looking to get started or someone aiming to refresh their knowledge, 48 | this repository is the perfect place to hone your skills and become proficient in web development. 49 | 50 | ## Lessons 51 | 52 | ### Lesson-01 53 | 54 | 65 | 66 | ### Lesson-02 67 | 68 | 79 | 80 | ### Lesson-03 81 | 82 | 93 | 94 | ### Lesson-04 95 | 96 | 108 | 109 | ### Lesson-05 110 | 111 | 123 | 124 | ### Lesson-06 125 | 126 | 138 | 139 | ### Lesson-07 140 | 141 | 153 | 154 | ### Lesson-08 155 | 156 | 168 | 169 | ### Lesson-09 170 | 171 | 183 | 184 | ### Lesson-10 185 | 186 | 199 | 200 | ### Lesson-11 201 | 202 | 215 | 216 | ### Lesson-12 217 | 218 | 230 | 231 | ### Lesson-13 232 | 233 | 246 | 247 | ## How_to_use_this_repository 248 | 249 |
    250 |
  1. Clone the Repository: Start by cloning the repository to your local machine.

  2. 251 |
  3. Checkout Branches: Navigate through different branches to explore various examples and exercises.

  4. 252 |
  5. Practice and Experiment: Modify the code, create new examples, and experiment with the concepts to solidify your understanding.
  6. 253 |
254 | 255 | ## License 256 | 257 | This project is licensed under [MIT License](LICENSE). 258 | 259 | ## 260 |
261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 |

271 |

272 | © 2024 Gayanuka Bulegoda 273 |

274 | --------------------------------------------------------------------------------