title
Learn HTML & CSS – Full Course for Beginners

description
Learn HTML and CSS from scratch by building 6 projects and solving 80+ coding challenges. Go here for the interactive browser-version: https://scrimba.com/links/htmlandcss ⭐️ Code ⭐️ 🔗 Interactive version: https://scrimba.com/links/htmlandcss 🔗 GitHub repo: https://github.com/scrimba/learn-html-and-css ✏️ This course was created by Per Harald Borgen, the co-founder and CEO of Scrimba. You can follow Per on Twitter here: https://twitter.com/perborgen 🛠 Tools used: 🔗 Netlify: https://www.netlify.com/ 🔗 VS Code: https://code.visualstudio.com/ 🔗 GitHub Desktop: https://desktop.github.com/ 🔗 Figma: https://www.figma.com/ 🔗 Coolors: https://coolors.co/ 🔗 Google Fonts: https://fonts.google.com/ 🔗 1001 Fonts: https://www.1001fonts.com/ ⭐️ Contents ⭐️ 0:00:00 Introduction Build and deploy your first website 0:01:32 1: Welcome to the HTML & CSS Course 0:04:12 2: HTML Tags 0:07:33 3: Write a news article 0:09:43 4: The image tag 0:14:43 5: Nesting 0:17:33 6: Internet superpowers - Change the BBC news! 0:22:34 7: Interactive elements - Button 0:24:37 8: Interactive elements - input tags -- Experiment with input types 100% 0:29:37 9: Let’s build Google! 0:33:28 10: Aside - Anchor tags 0:38:04 11: Add an anchor tag to Google.com 0:39:43 12: Proper document structure 0:45:29 13: Aside: Lists 0:49:27 14: Build a personal Website 0:58:15 15: Deploy your Personal Website 1:01:30 16: HTML Recap Build a Google.com clone 1:03:06 1: Let’s learn CSS! 1:03:53 2: Write your first lines of CSS! 1:08:10 3: Write your first lines of CSS! Solution 1:11:46 4: Let’s destroy wikipedia - recording 1:13:43 5: Link to the CSS file 1:16:22 6: Set the width of the elements 1:18:31 7: Inline vs block elements 1:20:49 8: Margin top 1:22:05 9: Divs rule the world 1:24:10 10: CSS classes 1:28:07 11: Aside - Learn margins via flags 1:34:04 12: Add space between our elements 1:35:12 13: Aside - Centering with margins 1:38:39 14: Centering our content 1:40:01 15: Aside - padding 1:45:23 16: Aside - Border and border-radius 1:50:33 17: Aside challenge - style Twitter button 1:55:36 18: Fix the input field 2:00:22 19: Center the button 2:02:42 20: Style the button 2:07:13 21: Why we can’t have two block-level buttons 2:11:42 22: Aside - Flexbox 2:15:25 23: Centering both buttons with flexbox 2:18:20 24: Google clone recap Build a Digital Business Card 2:20:27 1: Building your digital business card 2:21:00 2: Fix the image path 2:23:56 3: Add alt attribute 2:28:24 4: Make image smaller 2:29:40 5: Add a border and padding 2:33:30 6: Aside - flexbox child containers 2:37:11 7: Flex item containers 2:38:51 8: Add a utility class 2:42:04 9: Justify the items 2:44:13 10: Center the card 2:46:13 11: Aside - inheritance 2:50:31 12: Center the text via inheritance 2:53:32 13: Add colors 2:56:57 14: Web-safe fonts 3:02:06 15: Aside - margin/padding shorthand 3:06:09 16: Use the margin & padding shorhands 3:07:26 17: Deploy your Digital Business Card 3:12:16 18: Business Card Recap Build a Space Exploration Site 3:14:17 1: Let’s go to space 3:14:54 2: Add a background image from unsplash 3:18:54 3: Center elements and Style button 3:22:12 4: Add a Google font 3:26:34 5: @font-face 3:28:39 6: Aside - spans 3:32:37 7: Add an underline using a span 3:34:27 8: Use an ID for the logo 3:38:51 9: Replace the jpg with a webp 3:41:25 10: Choose a color palette from an image 3:44:18 11: Add the terms & conditions section 3:48:17 12: Aside - text shadow 3:54:17 13: Improving the readability with text shadows 3:56:17 14: Space - Exploration recap Build a Birthday GIFt Site 3:58:02 1: Let’s build a Birthday GIFt site 3:59:13 2: Add basic header styling 4:02:47 3: Set the colors 4:04:13 4: Add shadow on text 4:07:34 5: We have a problem that flexbox can fix 4:10:10 6: Aside - align-items 4:16:13 7: Aside - flex-direction 4:20:42 8: Turn the header into a flexbox 4:22:26 9: Fix date and age design 4:26:36 10: Create the first gift 4:31:56 11: Replace the img with a div 4:36:14 12: Aside - make elements change on hover 4:39:08 13: Add the hover effect 4:41:17 14: Create the next GIFt 4:45:39 15: Create two more GIFts 4:48:15 16: Create the final GIFt 4:51:38 17: Add the footer 4:55:18 18: Add a background gradient 4:58:46 19: Personalize the Birthday GIFt Site 5:00:25 20: Use GitHub Desktop to publish your Birthday GIFt Site 5:05:44 21: Deploying your Birthday GIFt Site 5:06:45 22: Use VS Code to edit your Birthday GIFt 5:11:36 23: GIFt site recap Solo Project: Hometown Homepage 5:13:29 1: It’s time to go solo! 5:15:47 2: Solo Project - Hometown Homepage 5:19:54 3: Congrats on completing the course!

detail
{'title': 'Learn HTML & CSS – Full Course for Beginners', 'heatmap': [{'end': 2316.827, 'start': 1737.128, 'weight': 0.869}, {'end': 3476.559, 'start': 3085.094, 'weight': 0.717}, {'end': 5214.636, 'start': 5018.001, 'weight': 0.705}, {'end': 8110.522, 'start': 7908.454, 'weight': 0.954}, {'end': 9849.893, 'start': 9652.577, 'weight': 0.766}, {'end': 11585.81, 'start': 11386.638, 'weight': 0.746}, {'end': 11970.455, 'start': 11774.287, 'weight': 0.712}, {'end': 12554.639, 'start': 12161.946, 'weight': 0.916}, {'end': 13713.064, 'start': 13126.307, 'weight': 0.891}, {'end': 16219.142, 'start': 16016.127, 'weight': 0.712}, {'end': 19301.043, 'start': 19108.599, 'weight': 1}], 'summary': 'Learn html & css course covers 5 projects with 75+ coding challenges, taught by per borgen, emphasizing practical learning and building projects like google.com homepage, space exploration landing page, digital business card, and birthday site with virtual presents. it includes html & css fundamentals, layout, personalizing websites, css styling, front-end essentials, github deployment, web design techniques, and css hover feature, resulting in a 0.02% increase in click-through rate for ad.', 'chapters': [{'end': 149.888, 'segs': [{'end': 82.675, 'src': 'embed', 'start': 40.45, 'weight': 0, 'content': [{'end': 46.351, 'text': 'which means that you will need to get your hands on the keyboard again and again as you progress through this course.', 'start': 40.45, 'duration': 5.901}, {'end': 51.854, 'text': "If you now are a little bit afraid or like, setting up your local dev environment, don't worry.", 'start': 46.751, 'duration': 5.103}, {'end': 57.838, 'text': 'For that reason, we have created an interactive version of this course over on scrimba.com.', 'start': 52.274, 'duration': 5.564}, {'end': 62.62, 'text': "There, you'll be able to solve all of the challenges directly in your browser.", 'start': 58.498, 'duration': 4.122}, {'end': 66.363, 'text': "So just click on the link below and you'll get to that interactive version.", 'start': 62.981, 'duration': 3.382}, {'end': 73.047, 'text': "Now, if you prefer, to instead solve the challenges locally, I've created a GitHub repository that you can clone,", 'start': 66.703, 'duration': 6.344}, {'end': 76.609, 'text': "and there you'll get access to all of the starter files for the challenges.", 'start': 73.047, 'duration': 3.562}, {'end': 81.233, 'text': 'One final thing, if you like this course, please give it a thumbs up here at YouTube.', 'start': 77.049, 'duration': 4.184}, {'end': 82.675, 'text': 'That is highly appreciated.', 'start': 81.273, 'duration': 1.402}], 'summary': 'The course offers an interactive version on scrimba.com for solving challenges in the browser, and a github repository for accessing starter files locally.', 'duration': 42.225, 'max_score': 40.45, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ40450.jpg'}], 'start': 0.169, 'title': 'Html & css for 5 projects', 'summary': 'Covers an interactive html and css course for building and deploying five projects, incorporating over 75 coding challenges, taught by per borgen, ceo of scrimba, and a front-end developer, focusing on hands-on learning and building projects such as google.com homepage, a space exploration landing page, a digital business card, and a birthday site with virtual birthday presents.', 'chapters': [{'end': 149.888, 'start': 0.169, 'title': 'Html & css for 5 projects', 'summary': 'Covers an interactive html and css course for building and deploying five projects, incorporating over 75 coding challenges, taught by per borgen, ceo of scrimba, and a front-end developer, with a focus on hands-on learning and building projects such as google.com homepage, a space exploration landing page, a digital business card, and a birthday site with virtual birthday presents.', 'duration': 149.719, 'highlights': ['The course involves building and deploying five projects, including the google.com homepage, a space exploration landing page, a digital business card, and a birthday site with virtual birthday presents. The chapter covers an interactive course for building and deploying five projects.', 'The course includes over 75 coding challenges for hands-on learning. The chapter emphasizes over 75 coding challenges for hands-on learning.', "The instructor, Per Borgen, is the CEO of Scrimba, a front-end developer, and a coding teacher, with over a million students having gone through his tutorials. The chapter highlights the instructor's credentials, including being the CEO of Scrimba and a coding teacher with over a million students."]}], 'duration': 149.719, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ169.jpg', 'highlights': ['The course involves building and deploying five projects, including the google.com homepage, a space exploration landing page, a digital business card, and a birthday site with virtual birthday presents.', 'The course includes over 75 coding challenges for hands-on learning.', 'The instructor, Per Borgen, is the CEO of Scrimba, a front-end developer, and a coding teacher, with over a million students having gone through his tutorials.']}, {'end': 1342.764, 'segs': [{'end': 325.029, 'src': 'embed', 'start': 300.11, 'weight': 6, 'content': [{'end': 305.213, 'text': "Now, if we want to do this in HTML, we'd simply create an HTML file, which you can see here.", 'start': 300.11, 'duration': 5.103}, {'end': 310.016, 'text': "it's called index dot HTML, as that is a common name to give your HTML files.", 'start': 305.213, 'duration': 4.803}, {'end': 313.518, 'text': 'And here I would write I code.', 'start': 310.976, 'duration': 2.542}, {'end': 316.504, 'text': 'therefore I am Now.', 'start': 313.518, 'duration': 2.986}, {'end': 325.029, 'text': 'if we open up a browser and point to this browser, to our HTML file, and then run it, then we can see that the text indeed appears in the browser.', 'start': 316.504, 'duration': 8.525}], 'summary': 'Creating an html file named index.html and running it displays text in the browser.', 'duration': 24.919, 'max_score': 300.11, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ300110.jpg'}, {'end': 609.656, 'src': 'embed', 'start': 575.56, 'weight': 7, 'content': [{'end': 576.301, 'text': 'rerunning the code.', 'start': 575.56, 'duration': 0.741}, {'end': 579.643, 'text': 'And there we go, we have achieved this exact layout.', 'start': 576.501, 'duration': 3.142}, {'end': 580.543, 'text': 'Great job.', 'start': 580.063, 'duration': 0.48}, {'end': 581.364, 'text': "Let's move on.", 'start': 580.824, 'duration': 0.54}, {'end': 591.011, 'text': "Now you're going to learn about images, because I really think our Mars article needs an image.", 'start': 585.569, 'duration': 5.442}, {'end': 594.512, 'text': 'The way to do that is by using the IMG tag.', 'start': 591.351, 'duration': 3.161}, {'end': 600.093, 'text': 'So we start with our angle brackets, and then write simply IMG inside of those.', 'start': 595.152, 'duration': 4.941}, {'end': 603.975, 'text': "And what's unique about this tag is that you don't need a closing tag.", 'start': 600.494, 'duration': 3.481}, {'end': 609.656, 'text': 'So there is no closing IMG as there is a closing h1 or closing paragraph.', 'start': 604.255, 'duration': 5.401}], 'summary': 'Achieved exact layout, learning about images with img tag', 'duration': 34.096, 'max_score': 575.56, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ575560.jpg'}, {'end': 823.992, 'src': 'embed', 'start': 778.981, 'weight': 1, 'content': [{'end': 782.824, 'text': 'So if you find an image you like, you can borrow it and use it in your project.', 'start': 778.981, 'duration': 3.843}, {'end': 783.905, 'text': 'Let me show you how.', 'start': 783.224, 'duration': 0.681}, {'end': 791.993, 'text': 'So if we Google Mars, for example, and click on the images tab and then click on whatever image we think is cool, for example this one right here,', 'start': 784.366, 'duration': 7.627}, {'end': 797.538, 'text': 'and then in this image view on the right hand side here you can right click and choose copy image address.', 'start': 791.993, 'duration': 5.545}, {'end': 802.943, 'text': "once you've copied that, you can simply paste it into the source attribute.", 'start': 798.058, 'duration': 4.885}, {'end': 808.99, 'text': "So I'm going to remove mars.jpg and paste in the image address, which I just copied.", 'start': 803.524, 'duration': 5.466}, {'end': 816.739, 'text': 'If we now run the code, you can see, there we go, we have borrowed this super cool image from another website online.', 'start': 809.23, 'duration': 7.509}, {'end': 819.53, 'text': "So it's time for a challenge.", 'start': 818.01, 'duration': 1.52}, {'end': 823.992, 'text': 'What I want you to do now is add a second image to our article.', 'start': 819.931, 'duration': 4.061}], 'summary': 'Learn how to borrow and use online images for projects with code.', 'duration': 45.011, 'max_score': 778.981, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ778981.jpg'}, {'end': 1102.98, 'src': 'embed', 'start': 1079.858, 'weight': 0, 'content': [{'end': 1091.679, 'text': "So what we're gonna do now is change the news on BBC Sports so that you then can show this page to a Man United fan and thus make them really upset while you get a good laugh.", 'start': 1079.858, 'duration': 11.821}, {'end': 1093.935, 'text': "So let's go ahead and do this.", 'start': 1092.674, 'duration': 1.261}, {'end': 1099.858, 'text': "Here on the BBC sports page on this top article here, I'm going to right click on the text.", 'start': 1094.535, 'duration': 5.323}, {'end': 1102.98, 'text': 'And then you can see it gives me the option to choose inspect.', 'start': 1100.298, 'duration': 2.682}], 'summary': 'Changing news on bbc sports to upset man united fan', 'duration': 23.122, 'max_score': 1079.858, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ1079858.jpg'}], 'start': 150.228, 'title': 'Learning html and css fundamentals', 'summary': 'Introduces the basics of html, css, and web development, emphasizing the practicality of learning html. it covers writing html tags, inserting and styling images, and illustrates practical applications such as altering news articles. it provides a hands-on demonstration and a simple design challenge.', 'chapters': [{'end': 449.447, 'start': 150.228, 'title': 'Html and css basics', 'summary': 'Introduces the basics of html, css, and web development, emphasizing the importance of learning html and its practicality in the job market. it also provides a hands-on demonstration of using html tags to format text and a simple design challenge.', 'duration': 299.219, 'highlights': ['HTML is the content of the website, while CSS is the styling, and JavaScript allows websites to solve problems. The chapter explains the roles of HTML, CSS, and JavaScript in web development, emphasizing their respective functions in creating website content, styling, and problem-solving.', "Knowing HTML is valuable in today's job market and is the most natural first step in web development. The chapter underscores the value of learning HTML in the current job market and as the initial step for individuals venturing into web development.", 'Demonstration of using HTML tags to format text and a simple design challenge with the h2 tag. The chapter provides a practical demonstration of using HTML tags to format text and presents a simple design challenge using the h2 tag, showcasing hands-on application of HTML.']}, {'end': 1051.733, 'start': 449.847, 'title': 'Learn html basics and image handling', 'summary': 'Covers the basics of writing html tags, including h1, h3, and p, and introduces how to insert and style images using the img tag, as well as the concept of nesting html elements using div tags.', 'duration': 601.886, 'highlights': ['The chapter introduces writing HTML tags, including h1, h3, and p, to create a news article. The chapter instructs on writing HTML tags, h1 for title, h3 for subheading, and p for text to create a news article about humans reaching Mars.', 'The chapter demonstrates inserting and styling images using the IMG tag, including self-closing tags and using the width attribute for scaling. The chapter demonstrates inserting images using the IMG tag, explaining self-closing tags and using the width attribute to scale the image with the browser size.', 'The chapter explains the concept of nesting HTML elements using div tags for grouping and targeting sections of the article. The chapter explains nesting HTML elements using div tags to group sections of the article, enabling targeting for styling and manipulation.']}, {'end': 1342.764, 'start': 1055.788, 'title': 'Change bbc sports news', 'summary': 'Illustrates how to prank a manchester united fan by changing the bbc sports news article, including altering the text and image, to create a practical joke.', 'duration': 286.976, 'highlights': ['The steps to change the news on BBC Sports are demonstrated, including altering the title and text of the article, and replacing the image. The chapter explains the process of changing the news on BBC Sports, involving altering the title and text of the article, and replacing the image with a new one of Jeff Bezos.', 'The consequences of refreshing the page are explained, emphasizing that the changes are only local and do not affect the actual BBC website. The chapter emphasizes that refreshing the page results in losing the changes made, as they are only local and do not affect the actual BBC website.', 'The usage of developer tools in the Chrome browser is demonstrated to modify the HTML elements of the webpage. The chapter demonstrates the usage of developer tools in the Chrome browser to modify the HTML elements of the webpage, including changing the title, text, and image.']}], 'duration': 1192.536, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ150228.jpg', 'highlights': ['The chapter underscores the value of learning HTML in the current job market and as the initial step for individuals venturing into web development.', 'The chapter provides a practical demonstration of using HTML tags to format text and presents a simple design challenge using the h2 tag, showcasing hands-on application of HTML.', 'The chapter introduces writing HTML tags, including h1, h3, and p, to create a news article.', 'The chapter demonstrates inserting images using the IMG tag, explaining self-closing tags and using the width attribute to scale the image with the browser size.', 'The chapter explains nesting HTML elements using div tags to group sections of the article, enabling targeting for styling and manipulation.', 'The chapter explains the process of changing the news on BBC Sports, involving altering the title and text of the article, and replacing the image with a new one of Jeff Bezos.', 'The chapter emphasizes that refreshing the page results in losing the changes made, as they are only local and do not affect the actual BBC website.', 'The chapter demonstrates the usage of developer tools in the Chrome browser to modify the HTML elements of the webpage, including changing the title, text, and image.', 'HTML is the content of the website, while CSS is the styling, and JavaScript allows websites to solve problems. The chapter explains the roles of HTML, CSS, and JavaScript in web development, emphasizing their respective functions in creating website content, styling, and problem-solving.', 'The chapter instructs on writing HTML tags, h1 for title, h3 for subheading, and p for text to create a news article about humans reaching Mars.']}, {'end': 2962.681, 'segs': [{'end': 1526.252, 'src': 'embed', 'start': 1499.585, 'weight': 0, 'content': [{'end': 1503.167, 'text': 'However, we have to specify what kind of type our input should be.', 'start': 1499.585, 'duration': 3.582}, {'end': 1508.672, 'text': 'So it has this type attribute, just as the image has a source attribute.', 'start': 1503.727, 'duration': 4.945}, {'end': 1511.576, 'text': 'And the value of the type can be a range of different options.', 'start': 1509.033, 'duration': 2.543}, {'end': 1514.78, 'text': "But we're going to start off with the most common one, and that is text.", 'start': 1511.676, 'duration': 3.104}, {'end': 1519.045, 'text': 'If we run this, you can see we get this nice little text box in the browser.', 'start': 1515.4, 'duration': 3.645}, {'end': 1521.988, 'text': 'Another handy attribute is the placeholder.', 'start': 1519.626, 'duration': 2.362}, {'end': 1526.252, 'text': "that's where we can give the user a hint about what kind of data we're asking for.", 'start': 1522.589, 'duration': 3.663}], 'summary': 'Specifies input type and attributes with examples.', 'duration': 26.667, 'max_score': 1499.585, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ1499585.jpg'}, {'end': 1678.155, 'src': 'embed', 'start': 1648.512, 'weight': 1, 'content': [{'end': 1651.715, 'text': "And I'm not going to tell you what kind of type that input field has.", 'start': 1648.512, 'duration': 3.203}, {'end': 1658.079, 'text': "I'm just going to show you how it looks, which is like this, you've probably seen that online before, it's basically a button.", 'start': 1652.495, 'duration': 5.584}, {'end': 1662.042, 'text': 'And when you click it, it lets you choose an image from your local file system.', 'start': 1658.259, 'duration': 3.783}, {'end': 1670.988, 'text': 'And the reason I want you to figure out what the type attributes should be here is because being good at googling is actually a huge part of being a good programmer.', 'start': 1662.662, 'duration': 8.326}, {'end': 1674.711, 'text': 'And the two are actually not that easy to separate from each other.', 'start': 1671.408, 'duration': 3.303}, {'end': 1678.155, 'text': 'So this gives you a way to practice those googling skills.', 'start': 1675.191, 'duration': 2.964}], 'summary': 'Demonstrates an input field for image selection, emphasizing the importance of googling skills for programming.', 'duration': 29.643, 'max_score': 1648.512, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ1648512.jpg'}, {'end': 2316.827, 'src': 'heatmap', 'start': 1737.128, 'weight': 0.869, 'content': [{'end': 1743.776, 'text': 'And it also says input elements with type file, let the user choose one or more files from their device storage.', 'start': 1737.128, 'duration': 6.648}, {'end': 1744.997, 'text': 'sounds pretty good.', 'start': 1744.336, 'duration': 0.661}, {'end': 1747.099, 'text': "So far, let's zoom in on the code here.", 'start': 1745.037, 'duration': 2.062}, {'end': 1751.423, 'text': 'And there you can see that they are actually using the profile picture example themselves.', 'start': 1747.119, 'duration': 4.304}, {'end': 1756.928, 'text': 'choose a profile picture with this button, which looks suspiciously similar to what I just showed you a couple of minutes ago.', 'start': 1751.423, 'duration': 5.505}, {'end': 1761.552, 'text': "So I think we've found it, what we're looking for is type equals file.", 'start': 1757.589, 'duration': 3.963}, {'end': 1764.575, 'text': "Let's add this up above the signup button.", 'start': 1762.233, 'duration': 2.342}, {'end': 1769.774, 'text': 'type equals file like that.', 'start': 1767.27, 'duration': 2.504}, {'end': 1771.055, 'text': 'We run this code.', 'start': 1770.395, 'duration': 0.66}, {'end': 1772.417, 'text': 'Yes, there we go.', 'start': 1771.316, 'duration': 1.101}, {'end': 1775.582, 'text': "We get this button, which looks like exactly what we're looking for.", 'start': 1772.638, 'duration': 2.944}, {'end': 1783.739, 'text': "Okay, now we're going to move on from using Google to building Google.", 'start': 1779.437, 'duration': 4.302}, {'end': 1792.502, 'text': "I mean, how cool is that? You've learned HTML for just about 30 minutes, and now you're going to build the most visited website in the world.", 'start': 1784.099, 'duration': 8.403}, {'end': 1793.862, 'text': 'That is just amazing.', 'start': 1792.662, 'duration': 1.2}, {'end': 1801.025, 'text': 'As you can see here, on the similar web overview, Google is at the very top amongst the most visited websites in the world,', 'start': 1794.062, 'duration': 6.963}, {'end': 1808.348, 'text': 'beating sites like YouTube, Facebook, Instagram, Wikipedia and all the way at 10th, a pornography site, of course.', 'start': 1801.025, 'duration': 7.323}, {'end': 1817.283, 'text': "And by the way, it's a little bit sad to see that this adult site has almost three times the average visitation of Wikipedia.", 'start': 1809.381, 'duration': 7.902}, {'end': 1820.684, 'text': 'So a pretty deep insight about humankind right there.', 'start': 1817.663, 'duration': 3.021}, {'end': 1826.006, 'text': "Anyway, we are going to build google.com and it'll look like this.", 'start': 1821.685, 'duration': 4.321}, {'end': 1832.432, 'text': "However, now you're probably wondering, how can we make a page look like this, this doesn't look like regular HTML.", 'start': 1826.946, 'duration': 5.486}, {'end': 1840.101, 'text': "And that is because I've cheated a little bit and added this line up here, which is a link tag to styles dot CSS.", 'start': 1833.013, 'duration': 7.088}, {'end': 1848.05, 'text': 'And if you look at the file menu in the left hand side, you can see that actually we have a file called styles dot CSS, which contains exactly that.', 'start': 1840.341, 'duration': 7.709}, {'end': 1855.613, 'text': "cascading style sheets, which is the language for styling websites, and what you're going to learn all about a little bit later in this course.", 'start': 1848.57, 'duration': 7.043}, {'end': 1859.094, 'text': 'However, for now, I want you to completely ignore this.', 'start': 1855.973, 'duration': 3.121}, {'end': 1866.397, 'text': 'What you should do instead is just create the four HTML tags we need in order to create a google.com clone.', 'start': 1859.474, 'duration': 6.923}, {'end': 1874.779, 'text': 'and then this CSS will be pulled in and take care of styling the elements as they should be so that it will look like this.', 'start': 1867.037, 'duration': 7.742}, {'end': 1885.562, 'text': "And to give you a hint, this is an image file pointing to Google dot PNG, the file I've added here, and PNG is just a file format, just like JPEG.", 'start': 1875.179, 'duration': 10.383}, {'end': 1888.823, 'text': 'you can use it in the exact same way as we use JPEGs earlier on.', 'start': 1885.562, 'duration': 3.261}, {'end': 1890.043, 'text': 'So you should know how to do that.', 'start': 1888.903, 'duration': 1.14}, {'end': 1895.085, 'text': 'And this is an input field, you have to figure out what kind of type it is, I think you might have a clue.', 'start': 1890.564, 'duration': 4.521}, {'end': 1897.285, 'text': 'This is a button on the left hand side.', 'start': 1895.825, 'duration': 1.46}, {'end': 1898.446, 'text': 'And this is also a button.', 'start': 1897.305, 'duration': 1.141}, {'end': 1905.087, 'text': "So basically, it is these four tags you need to create in order to build a clone of the world's biggest website.", 'start': 1898.946, 'duration': 6.141}, {'end': 1906.508, 'text': 'So go ahead and do that.', 'start': 1905.768, 'duration': 0.74}, {'end': 1909.589, 'text': 'Start down here and ignore the line up here.', 'start': 1906.728, 'duration': 2.861}, {'end': 1913.93, 'text': 'And then when you return back to me, I will of course show you the solution as well.', 'start': 1910.029, 'duration': 3.901}, {'end': 1915.03, 'text': 'Good luck.', 'start': 1914.67, 'duration': 0.36}, {'end': 1923.136, 'text': 'Okay, hopefully that went well.', 'start': 1921.334, 'duration': 1.802}, {'end': 1924.758, 'text': 'If not, no worries.', 'start': 1923.757, 'duration': 1.001}, {'end': 1925.92, 'text': "Let's do it together.", 'start': 1925.219, 'duration': 0.701}, {'end': 1930.465, 'text': 'So starting with the image tag for the Google logo.', 'start': 1926.861, 'duration': 3.604}, {'end': 1933.665, 'text': 'I want to do IMG like that.', 'start': 1931.383, 'duration': 2.282}, {'end': 1935.866, 'text': "And it's a self closing one.", 'start': 1934.345, 'duration': 1.521}, {'end': 1939.369, 'text': "So I don't need a closing tag, but I need a source attribute.", 'start': 1935.886, 'duration': 3.483}, {'end': 1942.271, 'text': 'And it should point to the google.png file.', 'start': 1939.89, 'duration': 2.381}, {'end': 1945.174, 'text': "So I'll just do google.png like that.", 'start': 1942.411, 'duration': 2.763}, {'end': 1946.535, 'text': "And let's run this.", 'start': 1945.714, 'duration': 0.821}, {'end': 1948.096, 'text': 'And oh, there we go.', 'start': 1946.675, 'duration': 1.421}, {'end': 1949.217, 'text': 'We got the logo.', 'start': 1948.356, 'duration': 0.861}, {'end': 1950.878, 'text': 'Okay, moving on.', 'start': 1950.117, 'duration': 0.761}, {'end': 1954.441, 'text': "Let's do the input field, also a self closing tag.", 'start': 1951.538, 'duration': 2.903}, {'end': 1959.07, 'text': 'running the code.', 'start': 1958.47, 'duration': 0.6}, {'end': 1960.171, 'text': 'And there we go.', 'start': 1959.29, 'duration': 0.881}, {'end': 1962.932, 'text': 'We have a input field looking pretty good.', 'start': 1960.191, 'duration': 2.741}, {'end': 1968.714, 'text': "Okay, next up, there's the two buttons, one saying Google search and one saying I'm feeling lucky.", 'start': 1963.652, 'duration': 5.062}, {'end': 1973.155, 'text': "So I'm going to add both of these button, Google search.", 'start': 1969.214, 'duration': 3.941}, {'end': 1978.577, 'text': "And then since I'm lazy, I'm going to copy it and do I'm feeling lucky like that.", 'start': 1973.775, 'duration': 4.802}, {'end': 1979.858, 'text': "Let's run this.", 'start': 1979.257, 'duration': 0.601}, {'end': 1981.318, 'text': 'And there we go.', 'start': 1980.658, 'duration': 0.66}, {'end': 1986.44, 'text': 'We have a Google clone with just four HTML elements.', 'start': 1981.658, 'duration': 4.782}, {'end': 1989.965, 'text': 'So if you did this, give yourself a pat on the back.', 'start': 1987.304, 'duration': 2.661}, {'end': 1991.665, 'text': 'It is fantastically well done.', 'start': 1990.085, 'duration': 1.58}, {'end': 1993.746, 'text': 'You should really be proud of yourself.', 'start': 1991.945, 'duration': 1.801}, {'end': 1996.266, 'text': "And if you didn't manage to do it, just try it again.", 'start': 1994.166, 'duration': 2.1}, {'end': 1997.527, 'text': "And I think you'll make it.", 'start': 1996.286, 'duration': 1.241}, {'end': 2002.648, 'text': "At this point, it might be a good idea to take a little break and digest everything you've learned.", 'start': 1998.447, 'duration': 4.201}, {'end': 2006.429, 'text': 'And then when you are ready to continue, I will see you in the next scrim.', 'start': 2002.788, 'duration': 3.641}, {'end': 2016.435, 'text': "Okay, now that you've built google.com, you probably want to showcase your project on some kind of portfolio page.", 'start': 2009.853, 'duration': 6.582}, {'end': 2019.256, 'text': "So let's pretend we're creating exactly that.", 'start': 2016.875, 'duration': 2.381}, {'end': 2023.997, 'text': 'Here we have the index dot html page, the main page of our portfolio.', 'start': 2019.956, 'duration': 4.041}, {'end': 2028.819, 'text': 'And as you can see, it has peer Harold Borgen, developers, teacher procrastinator.', 'start': 2024.297, 'duration': 4.522}, {'end': 2036.061, 'text': 'So a really good description of myself, though, what it lacks is some kind of page or section, which describes my projects.', 'start': 2029.219, 'duration': 6.842}, {'end': 2042.828, 'text': 'though, I have actually created the underlying page for exactly that over here on work dot HTML.', 'start': 2036.681, 'duration': 6.147}, {'end': 2047.192, 'text': 'As you can see, this is a few tags that describes my google.com project.', 'start': 2043.248, 'duration': 3.944}, {'end': 2050.456, 'text': "However, there's no way for the users to know this.", 'start': 2047.432, 'duration': 3.024}, {'end': 2057.402, 'text': 'the only way they can get to this page now is by actually typing work about HTML up in the browser here, and then it is rendered.', 'start': 2050.456, 'duration': 6.946}, {'end': 2058.44, 'text': "we don't want that.", 'start': 2057.88, 'duration': 0.56}, {'end': 2061.783, 'text': 'Instead, we want some kind of link from the index page.', 'start': 2058.561, 'duration': 3.222}, {'end': 2066.165, 'text': 'That is this one that points towards the work dot HTML.', 'start': 2062.443, 'duration': 3.722}, {'end': 2072.148, 'text': 'And in order for us to achieve that, you have to learn about anchor tags, aka links.', 'start': 2067.126, 'duration': 5.022}, {'end': 2076.17, 'text': 'An anchor tag is simply an HTML tag with an A.', 'start': 2072.789, 'duration': 3.381}, {'end': 2078.031, 'text': "So let's open and close an anchor tag.", 'start': 2076.17, 'duration': 1.861}, {'end': 2084.014, 'text': 'And right, for example, check out my projects here, like that.', 'start': 2078.331, 'duration': 5.683}, {'end': 2090.54, 'text': "If we run this, it seemingly looks just like our paragraph, and we can't click it either.", 'start': 2084.534, 'duration': 6.006}, {'end': 2096.405, 'text': 'And that is because for anchor tags, you also have to provide it with an age ref attribute.', 'start': 2090.56, 'duration': 5.845}, {'end': 2098.667, 'text': "that's short for hypertext reference.", 'start': 2096.405, 'duration': 2.262}, {'end': 2101.449, 'text': 'really fancy, scary looking word right there.', 'start': 2098.667, 'duration': 2.782}, {'end': 2102.35, 'text': "don't worry about it.", 'start': 2101.449, 'duration': 0.901}, {'end': 2105.812, 'text': 'all this attribute does is decide where the link should point to.', 'start': 2102.35, 'duration': 3.462}, {'end': 2115.799, 'text': 'So if we do equal, and then two quotes, we can inside the quotes, simply write work dot HTML, we now run this, you can see that it renders as a link.', 'start': 2106.233, 'duration': 9.566}, {'end': 2120.581, 'text': "And when we click it, boom, we're taken to the work dot HTML page.", 'start': 2116.199, 'duration': 4.382}, {'end': 2122.281, 'text': 'Really nice.', 'start': 2121.441, 'duration': 0.84}, {'end': 2130.224, 'text': 'Now, another thing I want to show you with with anchor tags is that you can nest them inside of other tags and actually in line in a text block.', 'start': 2123.042, 'duration': 7.182}, {'end': 2141.485, 'text': "So let's say that we want to link to google.com from this site, then we'll create a paragraph we can say something like check out the live demo here.", 'start': 2130.765, 'duration': 10.72}, {'end': 2145.128, 'text': 'And we only want the here word to be a clickable link.', 'start': 2142.185, 'duration': 2.943}, {'end': 2149.911, 'text': "Well, then we'll simply wrap the anchor tag round here as well.", 'start': 2145.608, 'duration': 4.303}, {'end': 2153.494, 'text': "And we'll close it before we close the paragraph.", 'start': 2150.652, 'duration': 2.842}, {'end': 2158.118, 'text': "And then we'll do the href, paste in the URL to google.com.", 'start': 2153.915, 'duration': 4.203}, {'end': 2162.882, 'text': 'Now, this is a link that points to an external website, not to any of our pages.', 'start': 2158.678, 'duration': 4.204}, {'end': 2167.383, 'text': 'So if we run this, you can see that the link is now only over the here word.', 'start': 2163.422, 'duration': 3.961}, {'end': 2173.484, 'text': 'However, if I click this link, now, the scrim bot mini browser will try to head over to google.com.', 'start': 2167.963, 'duration': 5.521}, {'end': 2177.285, 'text': 'And we only allow the mini browser to render scrim projects at the moment.', 'start': 2173.684, 'duration': 3.601}, {'end': 2178.165, 'text': "So that won't work.", 'start': 2177.365, 'duration': 0.8}, {'end': 2182.226, 'text': "Instead, what I'm going to do is make this link open in a new tab.", 'start': 2178.645, 'duration': 3.581}, {'end': 2184.886, 'text': 'And the way we do that is three new attributes.', 'start': 2182.246, 'duration': 2.64}, {'end': 2189.907, 'text': "So first, I'm just going to break this into a new line just to improve the readability a little bit.", 'start': 2185.066, 'duration': 4.841}, {'end': 2193.833, 'text': "And then here, I'm gonna write target Equals.", 'start': 2190.567, 'duration': 3.266}, {'end': 2196.107, 'text': 'underscore blank.', 'start': 2194.727, 'duration': 1.38}, {'end': 2203.03, 'text': 'Now that is a cryptic way of saying that you want the link to open up in a new tab, I know.', 'start': 2196.788, 'duration': 6.242}, {'end': 2212.392, 'text': "But if we now run this, if you click on this link, what you'll see is that in your main browser, a new tab will be opened at the google.com homepage.", 'start': 2203.31, 'duration': 9.082}, {'end': 2218.174, 'text': "So I'm not going to go deeper into why it's called target equals underscore blank.", 'start': 2212.912, 'duration': 5.262}, {'end': 2219.454, 'text': 'But this is the way to do it.', 'start': 2218.274, 'duration': 1.18}, {'end': 2228.817, 'text': 'I of course wish that HTML had a better solution for this, for example, new tab equals Yes, that would have made a lot more sense to me.', 'start': 2219.955, 'duration': 8.862}, {'end': 2232.378, 'text': 'But this is how it is, you just have to accept it.', 'start': 2229.477, 'duration': 2.901}, {'end': 2234.599, 'text': 'Okay, that was a lot of talking for me.', 'start': 2232.858, 'duration': 1.741}, {'end': 2236.079, 'text': "Now it's time for a challenge.", 'start': 2234.919, 'duration': 1.16}, {'end': 2241.821, 'text': 'I want you to create an anchor tag that links back to the index dot HTML page.', 'start': 2236.799, 'duration': 5.022}, {'end': 2246.762, 'text': 'Because if a user ends up on this page, they also need a way to get back to the main page.', 'start': 2241.981, 'duration': 4.781}, {'end': 2249.743, 'text': 'So create that link here however you want.', 'start': 2247.202, 'duration': 2.541}, {'end': 2252.504, 'text': 'And then I will show you the solution when you return back to me.', 'start': 2250.083, 'duration': 2.421}, {'end': 2266.64, 'text': "Okay, hopefully that went well, let's create this anchor tag, I'll wrap it inside of a paragraph, right turn to homepage.", 'start': 2258.433, 'duration': 8.207}, {'end': 2275.427, 'text': "And then I'll simply wrap the homepage word in an anchor tag like that, and point that anchor tag to index dot html.", 'start': 2267.281, 'duration': 8.146}, {'end': 2277.95, 'text': 'If we run this, you can see return to homepage.', 'start': 2275.728, 'duration': 2.222}, {'end': 2280.752, 'text': 'And if we click that, we are back at the homepage.', 'start': 2277.99, 'duration': 2.762}, {'end': 2281.953, 'text': 'Great job.', 'start': 2281.452, 'duration': 0.501}, {'end': 2282.894, 'text': "Let's move on.", 'start': 2282.353, 'duration': 0.541}, {'end': 2288.483, 'text': "Okay, we're back at our Google example here.", 'start': 2286.741, 'duration': 1.742}, {'end': 2291.226, 'text': 'And now I want you to add a anchor tag to the page.', 'start': 2288.883, 'duration': 2.343}, {'end': 2297.733, 'text': "Because sometimes you'll see that Google adds a little text underneath the buttons, for example, something about privacy.", 'start': 2291.787, 'duration': 5.946}, {'end': 2302.719, 'text': 'like we protect your privacy, then with a learn how link that you can click on to read more about that.', 'start': 2297.733, 'duration': 4.986}, {'end': 2305.181, 'text': 'So that is exactly what I want you to do.', 'start': 2303.279, 'duration': 1.902}, {'end': 2309.944, 'text': 'I want you to add an anchor tag that point to blog.html.', 'start': 2305.962, 'duration': 3.982}, {'end': 2313.305, 'text': "As you can see, I've added a blog.html file up here.", 'start': 2310.364, 'duration': 2.941}, {'end': 2316.827, 'text': 'And I want you to wrap the link inside of a paragraph tag.', 'start': 2313.486, 'duration': 3.341}], 'summary': 'The transcript covers html basics, building a google clone, adding anchor tags, and creating a portfolio page.', 'duration': 579.699, 'max_score': 1737.128, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ1737128.jpg'}, {'end': 1973.155, 'src': 'embed', 'start': 1942.411, 'weight': 3, 'content': [{'end': 1945.174, 'text': "So I'll just do google.png like that.", 'start': 1942.411, 'duration': 2.763}, {'end': 1946.535, 'text': "And let's run this.", 'start': 1945.714, 'duration': 0.821}, {'end': 1948.096, 'text': 'And oh, there we go.', 'start': 1946.675, 'duration': 1.421}, {'end': 1949.217, 'text': 'We got the logo.', 'start': 1948.356, 'duration': 0.861}, {'end': 1950.878, 'text': 'Okay, moving on.', 'start': 1950.117, 'duration': 0.761}, {'end': 1954.441, 'text': "Let's do the input field, also a self closing tag.", 'start': 1951.538, 'duration': 2.903}, {'end': 1959.07, 'text': 'running the code.', 'start': 1958.47, 'duration': 0.6}, {'end': 1960.171, 'text': 'And there we go.', 'start': 1959.29, 'duration': 0.881}, {'end': 1962.932, 'text': 'We have a input field looking pretty good.', 'start': 1960.191, 'duration': 2.741}, {'end': 1968.714, 'text': "Okay, next up, there's the two buttons, one saying Google search and one saying I'm feeling lucky.", 'start': 1963.652, 'duration': 5.062}, {'end': 1973.155, 'text': "So I'm going to add both of these button, Google search.", 'start': 1969.214, 'duration': 3.941}], 'summary': 'Created a google logo, input field, and two buttons for google search.', 'duration': 30.744, 'max_score': 1942.411, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/a_iQb1lnAEQ/pics/a_iQb1lnAEQ1942411.jpg'}], 'start': 1343.124, 'title': 'Html elements and layout', 'summary': 'Introduces interactive html elements, html layout challenges, input types, building a google clone, html document structuring, and lists. it covers the button tag, input tags with various attributes, and creating a google clone with minimal html elements. emphasizes the importance of html structuring and lists in web development.', 'chapters': [{'end': 1402.434, 'start': 1343.124, 'title': 'Interactive html elements', 'summary': 'Introduces the button tag as the first interactive html element, emphasizing its widespread use on the web and its potential for javascript integration, but clarifies that the current lesson will not cover its functionality beyond basic styling and text.', 'duration': 59.31, 'highlights': ['The button tag is presented as the first interactive HTML element, with a focus on its widespread use on the web.', 'The lesson clarifies that while the button has the potential for JavaScript integration, the course will not cover this functionality beyond basic styling and text.', 'The tutorial encourages experimentation with creating a button and suggests further learning in JavaScript for advanced functionality.']}, {'end': 1775.582, 'start': 1403.015, 'title': 'Html layout challenge and input types', 'summary': 'Covers creating a website layout using html tags for welcoming message, paragraph, and signup button, then introduces input tags with attributes like type, placeholder, and password, and explores various interactive input types like date, time, color picker, and file upload, emphasizing the importance of googling skills for programmers.', 'duration': 372.567, 'highlights': ['The chapter introduces creating a website layout with HTML tags for welcoming message, paragraph, and signup button, emphasizing correct HTML tag setup for rendering. The chapter guides on creating a website layout using HTML tags for welcoming message, paragraph, and signup button, emphasizing the correct setup of HTML tags for proper rendering on the page.', 'The chapter explains the input tag in HTML, including its type attribute for various options like text, and the use of the placeholder attribute for giving users a hint about the data being requested. The chapter explains the input tag in HTML, including its type attribute for various options like text and the use of the placeholder attribute for providing a hint to the user about the data being requested.', "The chapter demonstrates the use of the input tag's type attribute for creating interactive elements like date picker, time picker, and color picker, showcasing the versatility of the input tag. The chapter demonstrates the use of the input tag's type attribute for creating interactive elements like date picker, time picker, and color picker, showcasing the versatility of the input tag.", 'The chapter emphasizes the importance of googling skills for programmers and provides a challenge to search and find the appropriate type attribute for an HTML input field that lets users upload image files. The chapter emphasizes the importance of googling skills for programmers and provides a challenge to search and find the appropriate type attribute for an HTML input field that lets users upload image files.']}, {'end': 2411.729, 'start': 1779.437, 'title': 'Building google and creating links', 'summary': 'Discusses building a google clone using html, including creating the most visited website in the world and adding anchor tags for linking within the webpage, highlighting the process of creating a google clone with just four html elements and adding anchor tags for internal and external linking, and the importance of structuring html documents.', 'duration': 632.292, 'highlights': ["Creating a Google clone with just four HTML elements The speaker instructs to create a Google clone using just four HTML elements, namely an image tag for the Google logo, an input field, and two buttons for Google search and I'm feeling lucky.", 'Adding anchor tags for linking within the webpage The chapter emphasizes the addition of anchor tags to create internal links within the webpage, allowing users to navigate to different sections of the portfolio page and to return to the main page.', 'Importance of structuring HTML documents The chapter discusses the importance of structuring HTML documents correctly, highlighting the simplified yet functional structure used initially and the philosophy of first making it work and then improving it.']}, {'end': 2962.681, 'start': 2412.209, 'title': 'Html structure and lists', 'summary': 'Covers the proper structure of html documents, including the use of head, body, html, and doc type declaration, along with a detailed explanation of creating ordered and unordered lists, with examples and practical challenges.', 'duration': 550.472, 'highlights': ['The chapter covers the proper structure of HTML documents, including the use of head, body, HTML, and doc type declaration. It explains the importance of structuring HTML documents and demonstrates the placement of metadata and visible elements within the head and body tags.', 'Detailed explanation of creating ordered and unordered lists, with examples and practical challenges. It provides an overview of creating ordered lists using the

    tag and unordered lists using the