<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Cess - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Cess - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 22:22:25 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/Cesscode/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Understand Complex Coding Concepts Using the Feynman Technique ]]>
                </title>
                <description>
                    <![CDATA[ The Feynman approach is an excellent way to gain a deeper understanding of a complex topic. It's one of the quickest ways to turn a complex topic into one that you can explain in simple terms to others. This article will teach you how to break comple... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-understand-complex-coding-concepts-better-using-the-feynman-technique/</link>
                <guid isPermaLink="false">66bb89f17a6500a14ba5b76e</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Problem Solving ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Cess ]]>
                </dc:creator>
                <pubDate>Tue, 28 Jun 2022 19:26:19 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/05/HTML-Best-Practices---How-to-Build-a-Better-HTML-Based-Website.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>The Feynman approach is an excellent way to gain a deeper understanding of a complex topic. It's one of the quickest ways to turn a complex topic into one that you can explain in simple terms to others.</p>
<p>This article will teach you how to break complex coding concepts into the simplest terms.</p>
<p>Let's get started 💃</p>
<h2 id="heading-the-feynman-technique-of-learning">The Feynman Technique Of Learning</h2>
<p>Richard Feynman, a Nobel Prize-winning physicist, created the Feynman method for learning. He enjoyed explaining complex topics in simpler terms. </p>
<p>In Feynman's view, the best way to study an idea was to ask hard questions and fully understand it.</p>
<p>For more information about Richard Feynman, see this <a target="_blank" href="https://www.nobelprize.org/prizes/physics/1965/feynman/biographical/">article.</a></p>
<blockquote>
<p>"If you want to learn something, read about it. If you want to understand something, write about it. If you want to master something, teach it." -  Yogi Bhajan.</p>
</blockquote>
<p>Feynman's technique, in a nutshell, revolves around the belief that you can't explain something well if you do not know it well yourself. </p>
<p>When you try to explain what you know to someone who doesn't know anything about it, you'll notice the flaws in your understanding. The goal is to communicate what you've learned in a simple way that a child can understand.</p>
<h2 id="heading-what-are-the-benefits-of-using-the-feynman-technique">What Are the Benefits of Using the Feynman Technique?</h2>
<p>Here are a few of the benefits of using Feynman's learning techniques:</p>
<ul>
<li>It helps you gain a thorough understanding of what you're learning. If you're having trouble understanding JavaScript loops, for example, try this learning method.</li>
<li>It helps you <strong>learn new ideas.</strong> This technique allows you to learn new things fast, recall what you have learned, and be more productive.</li>
<li>It helps you become a better teacher. You get better at teaching when you keep sharing your knowledge with others.</li>
<li>It improves your critical thinking ability. You will be able to reason in an organized manner to explain complex stuff in simpler terms.</li>
</ul>
<h2 id="heading-the-four-steps-of-the-feynman-technique">The Four Steps of the Feynman Technique</h2>
<p>The Feynman Technique is made up of four significant steps:</p>
<ul>
<li>Choose a topic you want to learn about.</li>
<li>Explain it to a 12-year-old.</li>
<li>Review your explanation.</li>
<li>Simplify.</li>
</ul>
<h3 id="heading-step-1-choose-a-topic-you-want-to-learn-about">Step 1 - Choose a topic you want to learn about</h3>
<p>First, you should come up with a subject or topic you would like to learn and then write it at the top of a piece of paper.</p>
<p>For example, if you want to study JavaScript loops, write it as a heading on a blank piece of paper. As you keep learning about JavaScript loops, write whatever you know on that piece of paper. Write it so that someone who knows nothing about JavaScript loops will understand it.</p>
<h3 id="heading-notes-on-javascript-loops">Notes on JavaScript Loops</h3>
<p>Loops allow us to repeatedly run a code block until we meet a specific condition.  We call this condition the stop condition.</p>
<h3 id="heading-types-of-loops">Types of  loops</h3>
<ul>
<li>for loop</li>
<li>for-of loop</li>
<li>for-in loop</li>
<li>While loop</li>
<li>Do-while loop</li>
</ul>
<h4 id="heading-for-loop">For loop</h4>
<p>For loop allows us to repeat a series of actions until a specific condition is false. When a stop condition is true, the for loop runs, and when it is false, it stops running.</p>
<p>For loop syntax:</p>
<pre><code><span class="hljs-keyword">for</span> (initialExpression; stopCondition; incrementExpression) {
  <span class="hljs-comment">// code block to be executed</span>
}
</code></pre><p>Example of a for loop:</p>
<pre><code><span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">1</span>; i&lt;=<span class="hljs-number">10</span>; i++) {
   <span class="hljs-built_in">console</span>.log(i);
}  <span class="hljs-comment">// 1,2,3,4,5,6,7,8,9,10</span>
</code></pre><h4 id="heading-while-loop">While loop</h4>
<p>The while loop continues to run as long as the stop condition is true. It will stop running if the condition resolves to false.</p>
<p>We use a while loop when we are unsure of the number of times the loop will run before it starts running.</p>
<p>While loop syntax:</p>
<pre><code><span class="hljs-keyword">while</span> (stop condition) {
   <span class="hljs-comment">// code block to be executed</span>
}
</code></pre><p>Example of a While loop:</p>
<pre><code><span class="hljs-keyword">let</span> i = <span class="hljs-number">1</span>;

<span class="hljs-keyword">while</span>(i &lt;=<span class="hljs-number">10</span>) {
   <span class="hljs-built_in">console</span>.log(i);
   i++
}  <span class="hljs-comment">// 1,2,3,4,5,6,7,8,9,10</span>
</code></pre><h4 id="heading-do-while-loop">Do-while loop</h4>
<p>Do-while loops run a block of code (loop's body) at least once before rerunning if the stop condition is true or false.</p>
<p>Do-while loop syntax:</p>
<pre><code><span class="hljs-keyword">do</span> {   
  <span class="hljs-comment">// code to be executed </span>
} <span class="hljs-keyword">while</span>(stop condition)
</code></pre><p>Example of a Do-while loop:</p>
<pre><code><span class="hljs-keyword">let</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">do</span> {
  <span class="hljs-built_in">console</span>.log(i);
  i++;
} <span class="hljs-keyword">while</span>(i &lt;= <span class="hljs-number">10</span>) <span class="hljs-comment">// 1,2,3,4,5,6,7,8,9,10</span>
</code></pre><p>Check out this article for a detailed explanation of <a target="_blank" href="https://cesscode.hashnode.dev/what-are-the-different-javascript-loops">JavaScript Loops</a>.</p>
<p>Before moving on to step 2, do more research on JavaScript loops or take a practice test to see how good you are.</p>
<p>Check out this article for resources to help you practice <a target="_blank" href="https://cesscode.hashnode.dev/resources-to-help-you-practice-web-development">web development</a>.</p>
<p>Once you have a firm understanding of the topic (JavaScript loops), proceed to step 2.</p>
<p>Also, just a note – paper can be anything you use for writing, such as your phone's notebook app to any other app you use every day.</p>
<h3 id="heading-step-2-explain-it-to-a-12-year-old">Step 2 - Explain it to a 12-year-old</h3>
<p>Now that you have a clear understanding of JavaScript loops, it's time to explain it to a 12-year-old.</p>
<p>You don't have to look for an actual 12-year-old to teach. All you have to do is explain loops in the most basic terms possible, such that even a child can understand.</p>
<h3 id="heading-explanation-of-loops-to-a-12year-old">Explanation of loops to a 12year old</h3>
<p>Imagine you have a box of 20 candies and want to give them to your schoolmates. Each time there is still candy in the candy box, someone gets one until there is none left.</p>
<p>A classmate gets candy as long as there's candy in your box. If there's no candy left in the box, no one gets candy. To keep sharing sweets with more of your friends, you'll need to go out and buy more.</p>
<p><a target="_blank" href="https://cesscode.hashnode.dev/what-are-the-different-javascript-loops">JavaScript loops</a> help to make a series of activities repeat themselves. It allows you to run a code block repeatedly until we meet a specific condition and it stops running.</p>
<p>Loops operate similarly to your candy box. The code block must meet a specific condition to run or stop running.</p>
<ul>
<li><p>If the condition is true, your code runs</p>
</li>
<li><p>If the condition is false, your code stops running</p>
</li>
</ul>
<pre><code><span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> candyBox = <span class="hljs-number">1</span>; candyBox &lt;=<span class="hljs-number">20</span>; candyBox++) {
   <span class="hljs-built_in">console</span>.log(candyBox);
}  <span class="hljs-comment">// 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20</span>
</code></pre><ul>
<li><p><code>let candyBox = 1</code> means that your code should start counting at 1</p>
</li>
<li><p><code>candyBox &lt;= 20</code> is the condition that must be met for your code to run. It means that your code should stop counting when it gets to 20.</p>
</li>
<li><p><code>candyBox++</code> means that your code should increase by 1 for every time it runs</p>
</li>
</ul>
<p>There's a saying that using complex terms to explain a topic masks your lack of understanding. So your ability to explain loops in the simplest terms possible means you know what you are saying through and through.</p>
<h3 id="heading-how-to-explain-your-code-when-you-dont-have-a-12-year-old-to-talk-to">How to explain your code – when you don't have a 12 year old to talk to</h3>
<p>I know some of you reading this article are thinking, but what if I don't have somebody to explain what I'm learning?</p>
<p>That's not a problem. You can use a variety of methods to explain what you've learned, including:</p>
<p><strong>Technical writing:</strong> You don't have to be a great writer to start writing. All you have to do is start getting knowledge down on paper, so to speak. </p>
<p>Open platforms like dev.to, Hashnode, and Medium make it easy to share what you learn. So sign up for one of the platforms and begin writing. Also, you can check out Google's free technical writing <a target="_blank" href="https://developers.google.com/tech-writing">course</a>.</p>
<p><strong>Join online communities:</strong> Join online communities to share what you have learned. When you join online developer groups, you'll meet people who share your interests. This can help you become comfortable sharing and answering questions. </p>
<p>A fantastic developer community to join is the freeCodeCamp online <a target="_blank" href="https://forum.freecodecamp.org">forum</a>. You can also use social media platforms like YouTube, TikTok, Twitter, and so on.</p>
<p><a target="_blank" href="https://twitter.com/i/communities/1532313139810906114">You can also join my community for developers</a> on Twitter to ask questions, share ideas, and more.</p>
<p>Another way you can explain what you've learned is by doing it in front of an imaginary audience. Pretend you're teaching a group of 12-year-olds about JavaScript loops.</p>
<p>Teaching to an imaginary audience might be fun, but they cannot ask questions. This learning method works best when you use a real audience because they can ask questions.</p>
<p>When your audience asks you questions, you get to identify areas in which you need to improve.</p>
<p><strong>Fun tip:</strong> you can also try out the <a target="_blank" href="https://www.freecodecamp.org/news/rubber-duck-debugging/">rubber duck technique</a>, where you explain your code to a rubber duck (or another inanimate object) to make sure you've thought it through clearly.</p>
<h3 id="heading-step-3-review-your-explanation">Step 3 - Review Your Explanation</h3>
<p>Step 2 will help you identify specific areas where you need to improve. And then in step 3, you can review how you explained the topic to see what you could do better.</p>
<p>Review your loop explanation and identify areas where you think it fell short. Now that you know where you fell short, go back over your learning material to understand better. </p>
<p>Consider using other learning resources if possible. Study until everything you couldn't explain before is clearer to you.</p>
<p>Step 3's goal is to change your areas of weakness into your areas of strength.</p>
<h3 id="heading-step-4-simplify-your-explanation">Step 4 - Simplify Your Explanation</h3>
<p>As a result of step 3, you now have a better knowledge of JavaScript loops. Step 4 requires you to practice step 2 again with your new understanding of loops.</p>
<p>Take up your notes and simplify every area of loops you couldn't explain before. Rewrite your loops article or give someone else a better explanation.</p>
<p>You can also pretend you're teaching a group of 12-year-olds again about JavaScript loops. If you cannot explain a particular part of the topic, go back to step 3 to understand it better.</p>
<p>This method of learning works best for topics that are tough to understand. It is not an effective learning method if you already understand a concept.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>This learning style is all about understanding a topic to the point where you can explain it in your own words. When you describe it, act as though you're educating a child to see how well you know the subject.</p>
<p>Also, keep in mind that you can use this learning method to study any concepts that you find difficult.</p>
<p>Thank you for reading. I hope you enjoyed the article! If you have any questions or a learning strategy you would love to share? Send a message on <a target="_blank" href="https://twitter.com/Cessss_">Twitter</a> or <a target="_blank" href="https://www.linkedin.com/in/success-eriamiantoe">LinkedIn</a>.</p>
<h2 id="heading-resources">Resources</h2>
<p>Here are some resources that may be useful to you:</p>
<ul>
<li><a target="_blank" href="https://cesscode.hashnode.dev/what-are-the-different-javascript-loops">What are the different JavaScript Loops?</a></li>
<li><a target="_blank" href="https://twitter.com/i/communities/1532313139810906114">Twitter Community for Developers</a></li>
<li><a target="_blank" href="https://medium.com/taking-note/learning-from-the-feynman-technique-5373014ad230">Learning From the Feynman Technique</a></li>
<li><a target="_blank" href="https://cesscode.hashnode.dev/getting-work-done-with-the-pomodoro-technique">Getting work done with the Pomodoro Technique</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Use CSS Overview in Chrome Dev Tools ]]>
                </title>
                <description>
                    <![CDATA[ If you're a web developer, you probably appreciate a well-designed and attractive website.  And you might see a color scheme or font on a specific website that you want to incorporate into your blog or web app. But you'll need a browser extension to ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-use-css-overview-in-chrome-developer-tools/</link>
                <guid isPermaLink="false">66bb89f4add24ba4273250ed</guid>
                
                    <category>
                        <![CDATA[ Google Chrome ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Developer Tools ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Cess ]]>
                </dc:creator>
                <pubDate>Mon, 07 Feb 2022 14:52:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/02/HTML-Best-Practices---How-to-Build-a-Better-HTML-Based-Website-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're a web developer, you probably appreciate a well-designed and attractive website. </p>
<p>And you might see a color scheme or font on a specific website that you want to incorporate into your blog or web app. But you'll need a browser extension to see the website's color scheme and other CSS features.</p>
<p>The <strong>CSS overview</strong> feature in Chrome Dev Tools lets you see these CSS properties.</p>
<p>In this post, we'll go over how to use the <strong>CSS overview</strong> feature in Chrome Developer Tools. We'll also learn how to use <strong>CSS overview</strong> to get the colors and other CSS properties you want to use in creating a web page.</p>
<p>Let's get started. 💃</p>
<h2 id="heading-what-is-the-css-overview-panel">What is the CSS overview panel?</h2>
<p>The <strong>CSS overview panel</strong> is one of the newest features of Chrome Developer Tools. It serves as a preview tool that allows you to see the different CSS properties used in creating a web page.</p>
<p>It displays CSS properties such as:</p>
<ul>
<li>The colors used on a web page.</li>
<li>The line height of each element used on a web page.</li>
<li>The font-size of each element used on a web page</li>
<li>The font-families of each element on a web page.</li>
<li>The font weights of each element used on a web page.</li>
</ul>
<h2 id="heading-what-are-chrome-developer-tools">What are Chrome Developer Tools?</h2>
<p><strong>Chrome Developer Tools</strong> is also known as Chrome Dev Tools.</p>
<p><strong>Chrome Dev Tools</strong> are a suite of web developer tools that come pre-installed in the Chrome browser. </p>
<p>Check out this article to know more about <a target="_blank" href="https://developer.chrome.com/docs/devtools/">Chrome developer tools.</a></p>
<p>Here are some of the advantages of using <strong>Chrome Dev Tools</strong>:</p>
<ul>
<li><p>It enables you to create better websites in a shorter amount of time.</p>
</li>
<li><p>It enables you to make changes to your code, test it, and inspect it.</p>
</li>
<li><p>Chrome Dev Tools give developers more control over their web applications and browsers. </p>
</li>
<li><p>It enables you to assess the general performance of a website. </p>
</li>
</ul>
<h2 id="heading-how-to-access-chrome-developer-tools-in-your-browser">How to Access Chrome Developer Tools in Your Browser</h2>
<p>You can access Chrome Developer tools in three different ways:</p>
<ol>
<li><p><strong>Chrome’s Menu</strong>:</p>
</li>
<li><p>Click on the three vertical dots located on the top right corner of your chrome browser. It will bring up a drop-down menu with <code>more tools</code> at the bottom of the screen. </p>
</li>
<li><p>Click on more tools.</p>
</li>
<li><p>Click on developer tools.</p>
</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design.png" alt="Untitled-design" width="600" height="400" loading="lazy"></p>
<ol start="2">
<li><p><strong>Inspect:</strong> </p>
</li>
<li><p>Right-click on the chrome browser.</p>
</li>
<li><p>Click on inspect.</p>
</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design--1--2.png" alt="Untitled-design--1--2" width="600" height="400" loading="lazy"></p>
<ol start="3">
<li><p><strong>Shortcuts:</strong> </p>
</li>
<li><p>For Windows - <code>CTRL</code> + <code>Shift</code> + <code>I</code> OR <code>F12</code>. </p>
</li>
<li><p>For Mac - <code>CMD</code> + <code>Shift</code> + <code>I</code>. </p>
</li>
</ol>
<p>Once you click on the shortcut keys, the developer tools open.</p>
<p>When you press <code>CTRL</code> + <code>Shift</code> + <code>I</code>, it displays the last panel you opened by default. It shows the element, console, network, or performance panel, among other things.</p>
<p><code>CTRL</code> + <code>Shift</code> + <code>C</code> opens the <strong>element panel</strong> first by default.</p>
<h2 id="heading-how-to-use-css-overview-in-chrome-dev-tools">How to Use CSS Overview in Chrome Dev Tools</h2>
<p>The steps below will walk you through how to use the CSS overview feature to get the CSS properties used on a web page.</p>
<h2 id="heading-step-1-open-chrome-dev-tools">Step 1 - Open Chrome Dev tools</h2>
<p>We've already covered the various methods for accessing Chrome developer tools. You should be familiar with them now.</p>
<p>As a quick reminder, you can open Chrome dev tools by pressing <code>Ctrl</code> + <code>Shift</code> + <code>I</code> on Windows and Linux. Use <code>CMD</code> + <code>Option</code> + <code>I</code> on Mac.</p>
<h2 id="heading-step-2-click-on-more-tools">Step 2 - Click on More tools</h2>
<p>Click on the three vertical dots located on the top-right of Chrome dev tools.</p>
<p>Select "More Tools" from the drop-down menu. </p>
<p>You'll discover a variety of options when you click "More Tools." From the various options, select the <strong>CSS overview</strong> feature.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design--1--3.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-step-3-click-on-capture-overview">Step 3 - Click on Capture Overview</h2>
<p>When you click on <strong>CSS Overview</strong>, you'll see a list of its functions.</p>
<p>Functions such as:</p>
<ul>
<li><p>Capture an overview of your page's CSS.</p>
</li>
<li><p>Identify potential CSS improvements.</p>
</li>
<li><p>Locate the affected elements in the element panel.</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design--2-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Click on the <strong>Capture Overview button</strong>.</p>
<p>A menu with five sections appears after clicking the Capture Overview button.</p>
<p>The five sections are:</p>
<ul>
<li>Overview summary</li>
<li>Colors</li>
<li>Font info</li>
<li>Unused declarations</li>
<li>Media queries</li>
</ul>
<p>Let's go over each of the five sections one by one to see how they work.</p>
<h2 id="heading-css-overview-summary">CSS Overview Summary</h2>
<p>The <strong>Overview summary</strong> contains a list of the CSS elements used in building the web page.</p>
<p>The Overview summary displays a summary of the CSS on your website, such as:</p>
<ul>
<li>The number of elements used on the web page.</li>
<li>The different types of selectors used in creating the web page.</li>
<li>The number of inline style elements used on the web page.</li>
<li>The number of external stylesheets used on the web page.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/overview-summary.png" alt="Image" width="600" height="400" loading="lazy">
<em>An Illustration of the overview summary.</em></p>
<p>The example above shows the various CSS elements used to build the web page.</p>
<h2 id="heading-colors">Colors</h2>
<p>The color panel displays all the colors used in creating the web page. It has a palette of colors for the background, text, fill, and borders. It also highlights low-contrast texts issues on the web page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/color-ya-boy.png" alt="Image" width="600" height="400" loading="lazy">
<em>An illustration of the color panel.</em></p>
<p>The image above shows you the different colors used in creating the web page.</p>
<p>The beauty of the Color panel is that each color is clickable. If you click on a particular color in the Color panel, a list of elements that use that color appears. When you click on each element, it takes you to the element panel for inspection.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design--6-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>I clicked on color <code>#49FCD4</code> in the image above, and it brought up a list of elements with that color.</p>
<p>You can also hover over an element in the lists of elements displayed. When you move your cursor over the element, it highlights the element on the web page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Untitled-design--7-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>When I hover my mouse over the <code>header</code> element in the image above, it highlights the header  on the web page.</p>
<p>Just a quick note: hovering refers to moving your cursor over anything. It means to place a cursor over text, an image, or other objects on the screen without clicking on them.</p>
<h2 id="heading-font-info">Font Info</h2>
<p>The font info panel displays the typefaces used in the development of the website. It shows you the <code>font-size</code>, <code>line-height</code>, <code>font-weight</code>, and <code>font families</code> used in creating the website. If you click on the <strong>occurrences</strong>, you will see a list of the affected elements.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/use-this-one-for-header.png" alt="Image" width="600" height="400" loading="lazy">
<em>An illustration of the font info panel.</em></p>
<p>The above image shows you the different typefaces used in creating the web page. </p>
<h2 id="heading-unused-declarations">Unused Declarations</h2>
<p>You can find CSS styles that do not affect the web page by using <strong>unused declarations</strong>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/declare-my-boy.png" alt="Image" width="600" height="400" loading="lazy">
<em>An illustration of the unused declaration panel.</em></p>
<p>The image above shows the number of unused declarations on the web page. The vertical alignment applied to the element that isn't inline or a table cell will not affect the page.</p>
<p>You can also click on the <strong>occurrences</strong> to see a list of elements affected, like the <strong>font info</strong> and <strong>color panel</strong>.</p>
<h2 id="heading-media-queries">Media Queries</h2>
<p>The media query panel displays a list of all the media queries used in creating the web page. You will be able to examine the various widths and screen resolutions used in creating the web page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/media-query-my-boy.png" alt="Image" width="600" height="400" loading="lazy">
<em>An illustration of the media query panel.</em></p>
<p>The above example displays the number of media queries used in creating the web page. It lists the screen resolutions used in order of occurrence, from highest to lowest. If you click on the <strong>occurrences</strong>, you will see a list of the affected elements.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>When it comes to evaluating CSS attributes on a web page, the <strong>CSS overview</strong> tool comes in handy. It allows front-end developers and designers to inspect the CSS properties on a web page.</p>
<p>Thank you for reading 💙. If you would like to chat or have any questions, please feel free to contact me anytime on Twitter: <a target="_blank" href="https://twitter.com/Cessss_">@cessss_</a> and linkedIn: <a target="_blank" href="https://www.linkedin.com/in/success-eriamiantoe/">Success</a>.</p>
<p>Also, follow my blog to read some of my other stuff <a target="_blank" href="https://cesscode.hashnode.dev">@cesscode</a>.</p>
<p>Happy coding! 💙</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML Best Practices – How to Build a Better HTML-Based Website ]]>
                </title>
                <description>
                    <![CDATA[ HTML is the backbone of any website. It's the first thing people see. Without it, there would be no website.  Because of this, it's important that you stick to good coding practices. If you don't follow the best practices, you will create a bad user ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/html-best-practices/</link>
                <guid isPermaLink="false">66bb89f7deef71ff683a6d26</guid>
                
                    <category>
                        <![CDATA[ best practices ]]>
                    </category>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Cess ]]>
                </dc:creator>
                <pubDate>Mon, 03 Jan 2022 23:42:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/01/HTML-Best-Practices---How-to-Build-a-Better-HTML-Based-Website--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong>HTML</strong> is the backbone of any website. It's the first thing people see. Without it, there would be no website. </p>
<p>Because of this, it's important that you stick to good coding practices. If you don't follow the best practices, you will create a bad user experience for the web user.</p>
<p>There's always something new to learn in HTML, whether you're a coding newbie or an experienced pro.</p>
<p>In this article, we will talk about the basic best practices of HTML.</p>
<p>Let's get started. 💃</p>
<h2 id="heading-html-best-practices">HTML Best Practices</h2>
<p><strong>HTML best practices</strong> are rules that help you create websites that are easy to maintain and read.</p>
<p>Here are some guidelines to keep in mind when building an HTML-based website:</p>
<h3 id="heading-use-only-one-element-for-one-code-sheet">Use only one </h3><h1 id="heading-element-for-one-code-sheet"> element for one code sheet</h1>
<p>There are six different heading tags in HTML,  <code>&lt;h1&gt;</code> to <code>&lt;h6&gt;</code>. The <code>&lt;h1&gt;</code> tag is the main heading (subject of the web page) while the <code>&lt;h6&gt;</code> tag is the least important heading.</p>
<p>The <code>&lt;h1&gt;</code> tag is bigger than the <code>&lt;h2&gt;</code> tag, the <code>&lt;h2&gt;</code> tag is bigger than the <code>&lt;h3&gt;</code>tag, all the way down to the <code>&lt;h6&gt;</code> tag. Each of the headings decreases in size according to its importance.</p>
<p>It is important to avoid using more than one <code>&lt;h1&gt;</code> element for one code sheet.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;main&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>Can Coding be fun?<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>The more you code the better you become<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>Coding is fun<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>It is always better when you have fun coding<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>
&lt;/main&gt;
</code></pre><p>In the above example, we used the <code>&lt;h1&gt;</code> tag on the first and second <code>&lt;div&gt;</code>. Coding this way will work, but although you will achieve the same goal, this is not the best practice.</p>
<p>Do this instead ⬇️:</p>
<pre><code>&lt;main&gt;

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>Can coding be fun?<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>The more you code the better you become<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">h2</span>&gt;</span>Coding is fun<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>It is always better when you have fun coding<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>

&lt;/main&gt;
</code></pre><p>Having only one <code>&lt;h1&gt;</code> element on a web page is vital for Search Engine Optimization (SEO). It helps search engines understand what a web page is all about (the main idea of a web page).  </p>
<h3 id="heading-do-not-skip-heading-levels-in-html">Do not skip heading levels in HTML</h3>
<p>When using the header tags, it's vital to proceed from <code>&lt;h1&gt;</code> to <code>&lt;h2&gt;</code> to <code>&lt;h3&gt;</code> to <code>&lt;h4&gt;</code> and so on...</p>
<p>Don't use <code>&lt;h1&gt;</code> and then jump to <code>&lt;h3&gt;</code> when using header tags. It's difficult for web visitors using a screen reader to understand the contents of your web page when you skip heading levels.</p>
<p>A screen reader is a technology that helps people who have difficulty seeing access and interact with digital content, like websites or applications via audio or touch. The main users of screen readers are people who are blind or have very limited vision.  </p>
<p>You can read a little <a target="_blank" href="https://abilitynet.org.uk/factsheets/introduction-screen-readers">introduction to screen readers here</a>.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;h1&gt;Coding is fun&lt;/h1&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">h3</span>&gt;</span>It is always better when you have fun coding<span class="hljs-tag">&lt;/<span class="hljs-name">h3</span>&gt;</span></span>
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">h5</span>&gt;</span>Consistency is Key<span class="hljs-tag">&lt;/<span class="hljs-name">h5</span>&gt;</span></span>
</code></pre><p>Do this instead  ⬇️:</p>
<pre><code>&lt;h1&gt;Can coding be fun?&lt;/h1&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">h2</span>&gt;</span>The more you code the better you become<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span></span>
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">h3</span>&gt;</span>Coding is fun<span class="hljs-tag">&lt;/<span class="hljs-name">h3</span>&gt;</span></span>
</code></pre><h3 id="heading-use-the-figure-element-to-add-captions-to-your-images-in-html">Use the figure element to add captions to your images in HTML</h3>
<p>It's advisable to use the <code>&lt;figure&gt;</code> element when adding captions to your images. It is important to use the <code>&lt;figcaption&gt;</code> element along with the <code>&lt;figure&gt;</code> element for it to work.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;div&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">“a-man-coding.jpg”</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">“A</span> <span class="hljs-attr">man</span> <span class="hljs-attr">working</span> <span class="hljs-attr">on</span> <span class="hljs-attr">his</span> <span class="hljs-attr">computer</span>”&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>This is a picture of a man working on his computer<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>
</code></pre><p>The above example will work as expected but is not the best way to go about it. In a situation where the image fails to load you will have the <code>alt</code> text and the text on the <code>&lt;p&gt;</code> element showing on the screen. It will be difficult for a web visitor using a screen reader to tell the difference between the <code>&lt;p&gt;</code> and <code>alt</code> text.</p>
<p>Always keep in mind that just because your code works doesn't mean you're following best practices.</p>
<p>Do this instead  ⬇️:</p>
<pre><code>&lt;figure&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">“a-man-coding.jpg”</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">“A</span> <span class="hljs-attr">man</span> <span class="hljs-attr">working</span> <span class="hljs-attr">on</span> <span class="hljs-attr">his</span> <span class="hljs-attr">computer</span>”&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">figcaption</span>&gt;</span> This is a picture of a man working on his computer<span class="hljs-tag">&lt;/<span class="hljs-name">figcaption</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">figure</span>&gt;</span></span>
</code></pre><p>The above example is the best way to add captions to your images.</p>
<p>It is important to add captions to your images this way for:</p>
<ul>
<li>Search engine optimization: It is easier to find your images on search engines.</li>
<li>It will be easier for web visitors who use screen readers to understand the content of your web page.</li>
</ul>
<h3 id="heading-do-not-use-divs-to-create-headers-and-footers-use-semantic-elements-instead">Do not use divs to create headers and footers – use semantic elements instead</h3>
<p>HTML semantic elements mark up the structure of a document in a more meaningful way on a webpage. It is best practice to use HTML semantic elements for the proper assembly of your web page.</p>
<p>Avoid using <code>&lt;divs&gt;</code> in place of HTML semantics. Do not use <code>&lt;div&gt;</code> elements to show headers and footers on your web page. Use semantic <code>&lt;header&gt;</code> and <code>&lt;footer&gt;</code> elements instead.</p>
<p>The <code>&lt;header&gt;</code> element shows the navigation or the opening part of the web page.</p>
<p>The <code>&lt;footer&gt;</code> element shows copyright information or navigation links about the web page.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"header"</span>&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"index.html"</span>&gt;</span>Home<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span></span>
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>About<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span></span>
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Contact<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span></span>
&lt;/div&gt;

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"footer"</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"index.html"</span>&gt;</span>Home<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>About<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Contact<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></span>
</code></pre><p>In the above example, we used the <code>&lt;div&gt;</code> tag as a container for the <code>&lt;header&gt;</code> and <code>&lt;footer&gt;</code>. Coding this way will work, but although you will achieve the same goal, this is not the best practice.</p>
<p>Do this instead  ⬇️:</p>
<pre><code>&lt;header&gt;
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span></span>
&lt;/header&gt;

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">footer</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"index.html"</span>&gt;</span>Home<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>About<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Contact<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">footer</span>&gt;</span></span>
</code></pre><p>The above example is the best way to add <code>&lt;footers&gt;</code> and <code>&lt;headers&gt;</code> to your web page.</p>
<p>It is important to add <code>&lt;footer&gt;</code> and <code>&lt;header&gt;</code> using HTML semantic elements because:</p>
<ul>
<li><p>Using semantic elements for your <code>header</code> and <code>footer</code> makes your code easier to read. </p>
</li>
<li><p>It provides a better user experience for web visitors. It will be easier for web visitors who use screen readers to understand the content of your web page.</p>
</li>
</ul>
<p>Checkout this article to know more about <a target="_blank" href="<https://www.freecodecamp.org/news/semantic-html5-elements/#:~:text=Semantic%20HTML%20elements%20are%20those,content%20that%20is%20inside%20them>">HTML semantic elements</a>.</p>
<h3 id="heading-avoid-using-and-to-bold-and-italicize-texts-on-a-web-page">Avoid using <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> to bold and italicize texts on a web page</h3>
<p>The <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> tags are also known as the bold and italics tag. They are both used to highlight words in a text on a web page.</p>
<p>You shouldn't use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> for bolding and italics because they have no semantic meaning. Use the <code>font-weight</code> CSS property or use the <code>&lt;strong&gt;</code> and the <code>&lt;em&gt;</code> tags instead.</p>
<p>You use the <code>&lt;strong&gt;</code> tag to make a text on a webpage important. It highlights or bolds a text on a webpage. The <code>&lt;em&gt;</code> tag emphasizes the text in a webpage. It also displays the text in italics like the <code>&lt;i&gt;</code> tag.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;p&gt;<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">i</span>&gt;</span>Code at your own pace<span class="hljs-tag">&lt;/<span class="hljs-name">i</span>&gt;</span></span>&lt;p&gt;

&lt;p&gt;&lt;b&gt;code at your own pace&lt;/b&gt;&lt;p&gt;
</code></pre><p>The displayed texts will be bold and italicized in the example above. It will be of no importance to the web user using a screen reader. It has no semantic meaning.</p>
<p><strong>The</strong> <strong>HTML5</strong> specification says that the <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> tags should only be used as a last resort if no other tag is available.</p>
<p>Do this instead  ⬇️:</p>
<pre><code> &lt;p&gt;<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Code at your own pace<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span></span>&lt;p&gt;

&lt;p&gt;&lt;em&gt;code at your own pace&lt;/em&gt;&lt;p&gt;
</code></pre><h3 id="heading-dont-place-block-level-element-within-inline-elements">Don't place block-level element within inline elements</h3>
<p>Block-level elements start in a new line on a web page. By default, they stretch from the beginning of the line to the end on a web page. You won't be able to add more content inline to a block element without using CSS.</p>
<p>The <code>&lt;p&gt;</code>, <code>&lt;h1&gt;-&lt;h6&gt;</code>, and the <code>&lt;div&gt;</code> elements are some of the examples of a block level element.</p>
<p>The inline element covers the smallest area on a web page. They do not start on a new line on a web page.</p>
<p>The <code>&lt;span&gt;</code>, <code>&lt;em&gt;</code>, and the <code>&lt;a&gt;</code> elements are some of the examples of inline elements.</p>
<p>You cannot place block elements inside inline elements.</p>
<p>Don't do this  ⬇️:</p>
<pre><code>&lt;a href=<span class="hljs-string">"#"</span> &gt;

    <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span> Visit freecodecamp <span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span></span>

&lt;/a&gt;
</code></pre><p>You cannot wrap <code>&lt;p&gt;</code> inside a <code>&lt;a&gt;</code> element because <code>&lt;p&gt;</code> is a block-level element and <code>&lt;a&gt;</code> is an inline element.</p>
<p>Do this instead  ⬇️:</p>
<pre><code>&lt;p&gt;
Visit &lt;a href=<span class="hljs-string">"www.freecodecamp. org"</span> target=<span class="hljs-string">"_blank"</span>&gt;FreecodeCamp&lt;/a&gt; 
to learn Javascript
&lt;/p&gt;
</code></pre><p>The above example is the best way to nest inline elements inside a block-level element.</p>
<p>It is important to note that:</p>
<ul>
<li>The block-level element cannot be nested inside an inline element.</li>
<li>The inline element can be nested inside a block-level element.</li>
<li>The inline and the block-level element can be nested inside the block-level element.</li>
</ul>
<p>Just a quick note: nested, in the above example, means to place inside. So when I say it can't be nested, I'm referring to the fact that it can't be placed inside.</p>
<p>I hope you understand these three simple rules used for nesting elements.</p>
<p>It is also possible to convert block-level elements to inline elements and vice versa using CSS. Use <code>display: inline-block</code> and <code>display: inline</code> to convert from block-level to inline element.</p>
<p>It's important to remember that just because your code works doesn't mean you're following best practices.</p>
<p>This is why I always recommend using the <a target="_blank" href="https://validator.w3.org/">W3C markup validation service</a> to double-check your codes.</p>
<p>This validator checks the markup validity of web documents in HTML, XHTML, SMIL, MathML, etc: <a target="_blank" href="https://validator.w3.org/">W3c markup validation service</a>.</p>
<p>You can double-check your code by copying its URL and pasting it on the site or uploading your HTML file.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>I hope this article helped you learn a thing or two about HTML best practices. I tried to include only the most useful tips so you can start using them right away! </p>
<p>If you have any other questions or comments, please feel free to contact me anytime on Twitter: <a target="_blank" href="http://www.twitter.com/cessss_">@cessss_</a> and LinkedIn: <a target="_blank" href="https://www.linkedin.com/in/success-eriamiantoe/">Success</a> </p>
<p>I'll try to respond as soon as possible! Thank you for reading 💙.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
