<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: César</title>
    <description>The latest articles on DEV Community by César (@cesar_code).</description>
    <link>https://dev.to/cesar_code</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F573668%2F561456d3-08cb-45ff-ad0b-7c345ebfcdfd.png</url>
      <title>DEV Community: César</title>
      <link>https://dev.to/cesar_code</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cesar_code"/>
    <language>en</language>
    <item>
      <title>HTML Text Formatting</title>
      <dc:creator>César</dc:creator>
      <pubDate>Sat, 24 Apr 2021 11:30:11 +0000</pubDate>
      <link>https://dev.to/cesar_code/html-text-formatting-2kkp</link>
      <guid>https://dev.to/cesar_code/html-text-formatting-2kkp</guid>
      <description>&lt;h2&gt;
  
  
  Text Formatting sub-guide
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Text Formatting&lt;/li&gt;
&lt;li&gt;Bold&lt;/li&gt;
&lt;li&gt;Italics&lt;/li&gt;
&lt;li&gt;Underline&lt;/li&gt;
&lt;li&gt;Strikethrough&lt;/li&gt;
&lt;li&gt;Highlighting Texts&lt;/li&gt;
&lt;li&gt;Small Texts&lt;/li&gt;
&lt;li&gt;Subscript Texts&lt;/li&gt;
&lt;li&gt;Superscript Texts&lt;/li&gt;
&lt;li&gt;Program Output&lt;/li&gt;
&lt;li&gt;Keyboard Keys&lt;/li&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article targets beginners in web development. It is part of my previous post on &lt;a href="https://dev.to/cesar_code/html-crash-course-1djc"&gt;html-guide&lt;/a&gt;. This can also be a refresher for advanced developers.&lt;/p&gt;

&lt;p&gt;You can find the code and guide on my GitHub &lt;a href="https://github.com/cesarcode-init/html-guide#html-sub-guide"&gt;html-guide-github&lt;/a&gt; &amp;amp; for this article's code and guide on &lt;a href="https://github.com/cesarcode-init/html-text-formatting#highlighting-texts"&gt;html-text-formatting&lt;/a&gt;. Enjoy!&lt;/p&gt;

&lt;p&gt;Using appropriate HTML tags comes with a lot of advantages. You can't skip these benefits because they are indispensable to you as a web developer and to others like visually impaired people.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does it relate to you?
&lt;/h3&gt;

&lt;p&gt;Being a professional web developer requires being adept at what you are doing. It requires keeping your work at the most professional level you can. Professionalism does matter in this case. It is what companies seek in the first place. Trust me! It is what gets you hired, too.&lt;/p&gt;

&lt;h3&gt;
  
  
  How is it important to visually impaired people?
&lt;/h3&gt;

&lt;p&gt;Using appropriate semantic tags will help blind people listen to web pages. How does that happen? A software called &lt;em&gt;screen reader&lt;/em&gt; does that job. It reads your HTML structural semantics out loud to them and allows them to become aware of what is happening at that moment. It guides them, so you need to be careful how to employ HTML semantics. Misplacing them can sometimes lead to grave consequences.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Text Formatting
&lt;/h3&gt;

&lt;p&gt;It is not uncommon to think about text formatting tags or exclusively semantic tags as a mere text presentation. Whilst this thought isn't correct, we should keep in mind how important it is to use appropriate HTML tags at the right time and in the right place to render web pages informative, hence, semantically relevant. We often use CSS to achieve great presentations of web pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Bold
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; tags to make texts &lt;strong&gt;bold&lt;/strong&gt;. This tag stands for &lt;code&gt;bold&lt;/code&gt;. It targets how the text should &lt;em&gt;look&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a bold &lt;span class="nt"&gt;&amp;lt;b&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/b&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; tags to make texts &lt;strong&gt;bold&lt;/strong&gt;. It targets how &lt;em&gt;important&lt;/em&gt; the text is so you have to &lt;em&gt;emphasise&lt;/em&gt; its importance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
  This paragraph has a bold &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; in it because it is very
  important.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The distinction between &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; is the level of importance each one contains. Semantically speaking, you should use the &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; tag if you tend to add important text. But, if it's a matter of semi-styling, which infers it's only about making the text &lt;strong&gt;bold&lt;/strong&gt;, then we use the &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Note that experts recommend using &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; over &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt;. It does matter for visually impaired people. Keep that in mind!&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Italics
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt; tags to make texts &lt;em&gt;italic&lt;/em&gt;. This tag stands for &lt;code&gt;italics&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has an italicized &lt;span class="nt"&gt;&amp;lt;i&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/i&amp;gt;&lt;/span&gt;.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can use &lt;code&gt;&amp;lt;dfn&amp;gt;&lt;/code&gt; tags to make texts &lt;em&gt;italics&lt;/em&gt;. It stands for &lt;code&gt;definition element&lt;/code&gt;. As the name suggests, it defines an element.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
  This paragraph has a &lt;span class="nt"&gt;&amp;lt;dfn&amp;gt;&lt;/span&gt;definition element&lt;span class="nt"&gt;&amp;lt;/dfn&amp;gt;&lt;/span&gt; in it because it is
  defining a term.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;dfn&amp;gt;&lt;/span&gt;HTML&lt;span class="nt"&gt;&amp;lt;/dfn&amp;gt;&lt;/span&gt; stands for HyperText Markup Language.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The distinction between &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;dfn&amp;gt;&lt;/code&gt;is what kind of representation you are trying to associate with each one of them. We use &lt;code&gt;&amp;lt;dfn&amp;gt;&lt;/code&gt; when you want to define a term whilst using &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt; only makes a text &lt;em&gt;italic&lt;/em&gt; in the strict sense of the word. Both &lt;code&gt;&amp;lt;dfn&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt; make text &lt;em&gt;italic&lt;/em&gt; though.&lt;/p&gt;

&lt;p&gt;We can use &lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt; to make texts &lt;em&gt;italic&lt;/em&gt;, too. This tag stands for &lt;code&gt;emphasise&lt;/code&gt;. You should use this tag if and only if you want to emphasise something.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a &lt;span class="nt"&gt;&amp;lt;em&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/em&amp;gt;&lt;/span&gt; in italics.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that experts recommend using &lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt; over &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt;. It does matter for visually impaired people. Keep that in mind, too!&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Underline
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;u&amp;gt;&lt;/code&gt; tags to underline a text. The &lt;code&gt;&amp;lt;u&amp;gt;&lt;/code&gt; tag stands for &lt;code&gt;underline&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has an underlined &lt;span class="nt"&gt;&amp;lt;u&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/u&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use &lt;code&gt;&amp;lt;ins&amp;gt;&lt;/code&gt; tags to underline a specific text. This tag stands for &lt;code&gt;insert&lt;/code&gt;. We use this tag only when it comes to &lt;code&gt;inserting&lt;/code&gt; a new piece of information that did not exist before.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has an underlined &lt;span class="nt"&gt;&amp;lt;ins&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/ins&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Strikethrough
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;s&amp;gt;&lt;/code&gt; tags to &lt;del&gt;strike a text through&lt;/del&gt;. This tag stands for &lt;code&gt;strikethrough&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a crossed &lt;span class="nt"&gt;&amp;lt;s&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/s&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; tags to &lt;del&gt;strike a text through&lt;/del&gt;, too. This tag stands for &lt;code&gt;delete&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a crossed and deleted &lt;span class="nt"&gt;&amp;lt;del&amp;gt;&lt;/span&gt;content&lt;span class="nt"&gt;&amp;lt;/del&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The distinction between both of them, we use &lt;code&gt;&amp;lt;s&amp;gt;&lt;/code&gt; tags when we want to showcase that a piece of information that might be unnecessary. It doesn't mean it has been deleted permanently. However, using &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; tags implies that this piece of information has been literally deleted.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Highlighting Texts
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; tags to highlight a text. This tag highlights the text as it uses the yellow colour.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a highlighted &lt;span class="nt"&gt;&amp;lt;mark&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/mark&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. Small Texts
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;small&amp;gt;&lt;/code&gt; tags to make a text smaller than its usual size.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This paragraph has a small &lt;span class="nt"&gt;&amp;lt;small&amp;gt;&lt;/span&gt;word&lt;span class="nt"&gt;&amp;lt;/small&amp;gt;&lt;/span&gt; in it.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8. Subscript Texts
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;sub&amp;gt;&lt;/code&gt; tags to make a text lower and smaller than the main text. This tag stands for &lt;code&gt;subscript&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;We all know about CO&lt;span class="nt"&gt;&amp;lt;sub&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/sub&amp;gt;&lt;/span&gt;.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9. Superscript Texts
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;sup&amp;gt;&lt;/code&gt; tags to make a text higher and smaller than the main text. This tag stands for &lt;code&gt;superscript&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;What about 2&lt;span class="nt"&gt;&amp;lt;sup&amp;gt;&lt;/span&gt;3&lt;span class="nt"&gt;&amp;lt;/sup&amp;gt;&lt;/span&gt;?&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  10. Program Output
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;samp&amp;gt;&lt;/code&gt; tags to declare that the text is an output from a computer program. It stands for &lt;code&gt;sample&lt;/code&gt;. The first you will notice is the font of the text enclosed between this tag changes into &lt;code&gt;monotype&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;samp&amp;gt;&lt;/span&gt;Please enter a number&lt;span class="nt"&gt;&amp;lt;/samp&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  11. Keyboard Keys
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;kbd&amp;gt;&lt;/code&gt; tags to enclose &lt;code&gt;keys&lt;/code&gt; that belong to a keyboard.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Press &lt;span class="nt"&gt;&amp;lt;kbd&amp;gt;&lt;/span&gt;Ctrl&lt;span class="nt"&gt;&amp;lt;/kbd&amp;gt;&lt;/span&gt; + &lt;span class="nt"&gt;&amp;lt;kbd&amp;gt;&lt;/span&gt;C&lt;span class="nt"&gt;&amp;lt;/kbd&amp;gt;&lt;/span&gt; to copy a text&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  12. Variables
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;var&amp;gt;&lt;/code&gt; tags to enclose mathematical variables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;look at this equation &lt;span class="nt"&gt;&amp;lt;var&amp;gt;&lt;/span&gt;x&lt;span class="nt"&gt;&amp;lt;/var&amp;gt;&lt;/span&gt; = &lt;span class="nt"&gt;&amp;lt;var&amp;gt;&lt;/span&gt;y&lt;span class="nt"&gt;&amp;lt;/var&amp;gt;&lt;/span&gt; * 30&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thank you for your attention. There is more to it. That is why updating regularly would be necessary.&lt;/p&gt;

&lt;p&gt;For more, follow me on Instagram &lt;a href="https://www.instagram.com/cesarcode.init/"&gt;@cesarcode.init&lt;/a&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>HTML Crash Course</title>
      <dc:creator>César</dc:creator>
      <pubDate>Tue, 13 Apr 2021 21:38:00 +0000</pubDate>
      <link>https://dev.to/cesar_code/html-crash-course-1djc</link>
      <guid>https://dev.to/cesar_code/html-crash-course-1djc</guid>
      <description>&lt;h3&gt;
  
  
  HTML sub-guide
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;HTML Skeleton&lt;/li&gt;
&lt;li&gt;Headings&lt;/li&gt;
&lt;li&gt;Paragraphs&lt;/li&gt;
&lt;li&gt;Anchors&lt;/li&gt;
&lt;li&gt;Media&lt;/li&gt;
&lt;li&gt;Lists&lt;/li&gt;
&lt;li&gt;Attributes&lt;/li&gt;
&lt;li&gt;Links&lt;/li&gt;
&lt;li&gt;Meta&lt;/li&gt;
&lt;li&gt;Semantics&lt;/li&gt;
&lt;li&gt;Non-semantics&lt;/li&gt;
&lt;li&gt;Styles&lt;/li&gt;
&lt;li&gt;Tables&lt;/li&gt;
&lt;li&gt;iframes&lt;/li&gt;
&lt;li&gt;Forms&lt;/li&gt;
&lt;li&gt;Buttons&lt;/li&gt;
&lt;li&gt;Select&lt;/li&gt;
&lt;li&gt;Datalist&lt;/li&gt;
&lt;li&gt;Template&lt;/li&gt;
&lt;li&gt;SVGs&lt;/li&gt;
&lt;li&gt;Comments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This crash course targets beginners in web development. It helps and guides those who want to have a thorough understanding of HTML tags. It can also be a refresher for advanced developers.&lt;/p&gt;

&lt;p&gt;You can find the code and guide on my GitHub &lt;a href="https://github.com/cesarcode-init/html-guide#html-sub-guide"&gt;html-guide&lt;/a&gt;. Here is the second part of this article which tackles &lt;a href="https://dev.to/cesar_code/html-text-formatting-2kkp"&gt;HTML Text Formatting&lt;/a&gt;. Enjoy!&lt;/p&gt;

&lt;h3&gt;
  
  
  1. HTML
&lt;/h3&gt;

&lt;p&gt;So What's HTML?&lt;br&gt;
HTML is a &lt;strong&gt;Hypertext Markup Language&lt;/strong&gt;. It is not &lt;del&gt;a programming language&lt;/del&gt;; it's just a way of structuring the content and rendering it on a webpage. To use this markup language, you will have to employ HTML &lt;em&gt;opening tags &amp;lt;&amp;gt;&lt;/em&gt; and &lt;em&gt;closing tags &amp;lt;/&amp;gt;&lt;/em&gt;.&lt;br&gt;
So what do you have to learn in HTML? You need to understand the basics.&lt;/p&gt;

&lt;p&gt;Note that when you create a new file you have to save it with an &lt;code&gt;.html&lt;/code&gt; extension. For instance, the homepage is conventionally named &lt;code&gt;index.html&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. HTML Skeleton
&lt;/h3&gt;

&lt;p&gt;HTML skeleton triggers the environment where you are going to work. Before starting any projects, you will have to include the following HTML skeleton:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- `DOCTYPE html` refers to the declaration of the HTML version you are using which is basically HTML5. --&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- We use &amp;lt;meta&amp;gt; tags to add data that characterises a webpage. --&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

    &lt;span class="c"&gt;&amp;lt;!-- &amp;lt;title&amp;gt; tag allows you to add the website's name. --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Webpage&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;

    &lt;span class="c"&gt;&amp;lt;!-- &amp;lt;link&amp;gt; tag lets you add stylesheets where you can add styles to the webpage. --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- Inside the &amp;lt;body&amp;gt; tag, we add all that has to do with the webpage content. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Headings
&lt;/h3&gt;

&lt;p&gt;Headings are titles that go from &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;, the biggest, to &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt;, the smallest.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h4&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h4&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h5&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h5&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h6&amp;gt;&lt;/span&gt;I am a title&lt;span class="nt"&gt;&amp;lt;/h6&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Paragraphs
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tags to declare paragraphs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I am a paragraph.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Anchors
&lt;/h3&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tags to create hyperlinks that take the user to another page other than the current one or navigate in the same page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Visit Google&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Media
&lt;/h3&gt;

&lt;p&gt;6.1. Images&lt;/p&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tags to add images. Note that these tags are &lt;em&gt;self-closing&lt;/em&gt; tags which means they don't require a closing tag; it closes itself.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"apple.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"apple"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;src&lt;/code&gt; and &lt;code&gt;alt&lt;/code&gt; attributes are required. &lt;code&gt;src&lt;/code&gt; contains the image path. &lt;code&gt;alt&lt;/code&gt; contains a brief phrase about that image so in case the internet breaks down somehow, the user will still know what the image is.&lt;/p&gt;

&lt;p&gt;6.2. Videos&lt;/p&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; tags to insert videos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"olaf.mp4"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/mp4"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- video tags can have multiple attributes to give the videos some functionalities like:

        1. 'controls' to make the video controllable by the user.
        2. 'muted' to make the video in silent mode.
        3. 'autoplay' as the attribute suggests to make the video play when a webpage first loads
        4. 'poster='thumbnail.jpg' to place a poster before the video kicks off.
--&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;6.3. Audios&lt;/p&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; tags to insert audios.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;audio&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"olaf.mp3"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"audio/mpeg"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- audio tags can have multiple attributes to give the audios some functionalities like:

        1. 'controls' to make the audio controllable by the user.
        2. 'muted' to make the audio in silent mode.
        3. 'autoplay' as the attribute suggests to make the audio play when a webpage first loads.
--&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. Lists
&lt;/h3&gt;

&lt;p&gt;7.1. Ordered Lists&lt;/p&gt;

&lt;p&gt;Ordered lists are number-based lists. They go in chronological order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ol&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 1&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 2&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 3&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ol&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;7.2. Unordered Lists&lt;/p&gt;

&lt;p&gt;Unordered lists are bullet point based. They are not organised in chronological order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 1&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 2&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Item 3&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;7.3. Definition Lists&lt;/p&gt;

&lt;p&gt;Definition lists are description based lists. They contain descriptions and terms attached to them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;dl&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;dt&amp;gt;&lt;/span&gt;Item 1&lt;span class="nt"&gt;&amp;lt;/dt&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;dd&amp;gt;&lt;/span&gt;Item 1 is an amazing product which you can buy&lt;span class="nt"&gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;dt&amp;gt;&lt;/span&gt;Item 2&lt;span class="nt"&gt;&amp;lt;/dt&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;dd&amp;gt;&lt;/span&gt;Item 2 is a fantastic product&lt;span class="nt"&gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/dl&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8. Attributes
&lt;/h3&gt;

&lt;p&gt;8.1. Ids&lt;/p&gt;

&lt;p&gt;We use an &lt;code&gt;id&lt;/code&gt; attribute when an element has a unique style that's not common.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"unique"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- Note that you can give any other name. It doesn't have to be 'unique', it can be a name of your choice such as 'text', 'danger' etc. --&amp;gt;&lt;/span&gt;

  I have an id attribute. You can only select me because I'm unique.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8.2. Classes&lt;/p&gt;

&lt;p&gt;We use a &lt;code&gt;class&lt;/code&gt; attribute when some elements share common styles. We can also reference single elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"red-text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  I have a class. That doesn't make me special. Other tags and I have a common class because we share common styles.
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"red-text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  I'm another tag that shares the same style as my neighbour tag
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8.3. Hyper-reference&lt;/p&gt;

&lt;p&gt;We use &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tags to create a hyperlink. To make it work, we need to insert the link inside the attribute &lt;code&gt;href&lt;/code&gt;, which stands for hyper-reference.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"http://www.domain.com"&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;I have got a hyper-reference (href) on me so you can go to that link&lt;span class="nt"&gt;&amp;lt;/a&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8.4. Source (src)&lt;/p&gt;

&lt;p&gt;We use the &lt;code&gt;src&lt;/code&gt; attribute to add the image path.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"cat.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8.5. Alternative (alt)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;alt&lt;/code&gt; plays the role of an alternative for images not being displayed due to connection problems. It shows up the phrase you include inside the &lt;code&gt;alt&lt;/code&gt; attribute.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"cat.png"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"this is a cat"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8.6. Style&lt;/p&gt;

&lt;p&gt;We use the attribute &lt;code&gt;style&lt;/code&gt; to add some styles to the elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: red;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;I'm a paragraph and my color is red&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that there are three ways of adding styles to a webpage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inline style. This is achieved through employing the attribute &lt;code&gt;style&lt;/code&gt; inside a tag element.&lt;/li&gt;
&lt;li&gt;Style tag. This tag is implemented inside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag.&lt;/li&gt;
&lt;li&gt;Separate stylesheets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;8.7. Title&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;title&lt;/code&gt; attribute gives a brief description of elements being hovered on. For instance, when a user hovers over a logo, a text shows up displaying 'Home'.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"http://www.youtube.com"&lt;/span&gt; &lt;span class="na"&gt;title=&lt;/span&gt;&lt;span class="s"&gt;"go to YouTube"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;YouTube&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9. Links
&lt;/h3&gt;

&lt;p&gt;Let's agree on something. This &lt;code&gt;link&lt;/code&gt; is not like the hyperlinks enclosed by &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tags. We add this &lt;code&gt;link&lt;/code&gt; tag inside the &lt;code&gt;head&lt;/code&gt; as it contains stylesheets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  10. Meta
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tags contain special data about a webpage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  11. Semantics
&lt;/h3&gt;

&lt;p&gt;11.1. Header&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; tags always come at the top of the webpage inside the &lt;/p&gt; tag. It's like an opening that usually contains a logo, a navigation menu, a search bar etc., depending on the projects.&lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Hello I am a paragraph inside a header.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;11.2. Main&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; tags appear between the headers and footers. They usually contain the centre or essentials of the webpage such as sections, articles, figures etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Hello I am a paragraph inside a main.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.3. Footer&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; tags appear at the end of a webpage. They usually play the role of the ending. They contain contact information, navigation links and copyright statements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Hello I am a paragraph inside a footer.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.4. Navigation&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; tags are shorthand versions of &lt;em&gt;navigation&lt;/em&gt;. We use them when we want to add a navigation bar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"index.html"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;home&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"about.html"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;about&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"contact.html"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;contact&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.5. Sections&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; tags are used to structure our content in a better way. A webpage can have multiple sections; each section tackles a specific area.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I'm inside a section&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.6. Articles&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; tags are used for self-contained content such as a blog post etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I'm inside an article tag&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.7. Asides&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; tags are used to display parts of the content and they are often presented as &lt;em&gt;sidebars&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;aside&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    I'm inside an aside tag. You will find me on the right or left side of the
    webpage
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/aside&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.8. Figures&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; tags are handy when we want to insert an image or a document that has a caption under it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;figure&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"parrot.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"this is a parrot picture"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;figcaption&amp;gt;&lt;/span&gt;Fig1. - Red Parrot.&lt;span class="nt"&gt;&amp;lt;/figcaption&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/figure&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11.9. Blockquotes&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt; tags are meant to wrap quotes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;blockquote&lt;/span&gt; &lt;span class="na"&gt;cite=&lt;/span&gt;&lt;span class="s"&gt;"http://en.wikipedia.org/wiki/Main_Page"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  I'm a quote taken from a wikipedia page.
&lt;span class="nt"&gt;&amp;lt;/blockquote&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  12. Non-semantics
&lt;/h3&gt;

&lt;p&gt;12.1. Spans&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; tags are a quick way to grab the content inside it and give it a unique style with CSS or functionality with JavaScript.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;I'm inside a span which makes me an inline element&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;12.2. Divs&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; tags are important when we want to control children etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;I'm inside a div (division) which makes me a block element&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  13. Styles
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; tag is a way to add styles to our webpage by selecting the elements from HTML and styling them. We usually place this tag inside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  14. Tables
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; tags are meant to create tables on a webpage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;first name&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;last name&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Brad&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Smith&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  15. Iframes
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; tags are used to embed another document within the current HTML document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;iframe&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"demo.html"&lt;/span&gt; &lt;span class="na"&gt;title=&lt;/span&gt;&lt;span class="s"&gt;"this is an Iframe"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  16. Forms
&lt;/h3&gt;

&lt;p&gt;16.1. Form Tag&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag is meant to declare a form. Forms are important to get data from users. There are various types of forms such as sign-in, sign-up, contact forms etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"#"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- Here where form elements have to be --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;16.2. Form Elements&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"#"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- A label tag acts like a title --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;First name:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs --&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- Inputs act like a field where you can type some data. --&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of text are designed to have text in them. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of password are designed to have passwords in them that are hidden. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of radio display a radio button which allows you to select one of the multiple choices. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of checkbox display a checkbox button which allows you to select one zero or more than one choice. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"checkbox"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of submit display a submit button that allows you to submit the form -- it technically comes at the end of the form. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Inputs with a type of button display a clickable button that allows you to click. --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;16.3. Form Attributes&lt;/p&gt;

&lt;p&gt;&lt;code&gt;action&lt;/code&gt; attribute is designed to take care of the data submitted. It is the endpoint where the data is captured. Once the user fills in the data and presses on submit, you will have to create a server path where the data goes and be dealt with on the server-side.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"#"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;method&lt;/code&gt; attribute determines the HTTP method you want to apply before the data is sent to the server. These methods are POST, GET, DELETE etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  17. Buttons
&lt;/h3&gt;

&lt;p&gt;17.1. Button Tag&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; tags are meant to create clickable buttons.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;click me&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;17.2. Button Input&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tags with a type of button are also meant to create a clickable button.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"click me"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  18. Select
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; tags are meant to create a dropdown list with options. The user has to choose one of the options.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;select&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"red"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Red&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"blue"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"black"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Black&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/select&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  19. Datalist
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt; tags allow you to create a dropdown list with options like &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; tags; however, the difference is that &lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt; tags allow users to add their own options if they are not okay with the recommended ones.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;list=&lt;/span&gt;&lt;span class="s"&gt;"colors"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;datalist&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"colors"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"red"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"blue"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"black"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/datalist&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that the &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tag is important. It provides the user with a field where they can type their own option.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;value&lt;/code&gt; attribute adds a value to the options. There is another way to it, excluding the &lt;code&gt;value&lt;/code&gt; attribute:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;list=&lt;/span&gt;&lt;span class="s"&gt;"otherColors"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;datalist&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"otherColors"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;yellow&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;brown&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;green&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/datalist&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  20. Template
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt; tags are used to hide data and manipulate it using JavaScript to display it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;template&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I'm hidden inside this template till a user click to display me&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/template&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  21. SVG
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;svg&amp;gt;&lt;/code&gt; tags are used to create SVGs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;svg&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;rect&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;'100'&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;'100'&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;'fill: red;'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  22. Comments
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- This is a comment in HTML --&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- Comments don't show up on a webpage --&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thank you for your attention. I hope this course has been as informative as you expected. There is more to it, but covering every bit of HTML would be distracting. I have picked up the most important tags which you will end up using sooner or later.&lt;/p&gt;

&lt;p&gt;For more, follow me on Instagram &lt;a href="https://www.instagram.com/cesarcode.init/"&gt;@cesarcode.init&lt;/a&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Before coding loads!</title>
      <dc:creator>César</dc:creator>
      <pubDate>Fri, 09 Apr 2021 18:40:15 +0000</pubDate>
      <link>https://dev.to/cesar_code/before-coding-loads-j24</link>
      <guid>https://dev.to/cesar_code/before-coding-loads-j24</guid>
      <description>&lt;p&gt;Coding can be overwhelming. We have all been there in that state of confusion before embarking on the coding journey. Before you start coding, there are a few points you have to keep in mind when it comes to web development or programming in general.&lt;/p&gt;

&lt;h4&gt;
  
  
  Code editors
&lt;/h4&gt;

&lt;p&gt;Code editors such as &lt;a href="https://atom.io/"&gt;Atom&lt;/a&gt;, &lt;a href="//brackets.io"&gt;Brackets&lt;/a&gt;, and &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt; will create the coding environment where you can write your code. I recommend &lt;em&gt;Visual Studio Code&lt;/em&gt;, which comes with packages and extensions that will make your workflow much faster and easier.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sources
&lt;/h4&gt;

&lt;p&gt;Avoid jumping from one source to another or from one video to another. I recommend juniors to opt for one source and stick to it until the end.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Documentations are super handy. Sticking to documentations will help you get the gist of whatever is going on and not get lost. Documentations such as &lt;a href="https://developer.mozilla.org/en-US/"&gt;MDN Documentation&lt;/a&gt; and &lt;a href="https://www.w3schools.com/"&gt;W3Schools&lt;/a&gt; can provide you with the best paths and understanding all concepts you need to know. Each scripting or programming language has its own documentation like &lt;a href="https://docs.python.org/3/"&gt;Python Documentation&lt;/a&gt;, &lt;a href="https://www.php.net/docs.php"&gt;PHP Documentation&lt;/a&gt; and so on.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YouTube&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not all YouTube channels are informative. Potential creators such as &lt;a href="https://www.youtube.com/user/TechGuyWeb"&gt;Brad Traversy&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw"&gt;Web Dev Simplified&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg"&gt;The Net Ninja&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UClb90NQQcskPUGDIXsQEz5Q"&gt;Dev Ed&lt;/a&gt;, &lt;a href="https://www.youtube.com/user/KepowOb"&gt;Kevin Powell&lt;/a&gt;, and &lt;a href="https://www.youtube.com/channel/UCTBGXCJHORQjivtgtMsmkAQ"&gt;Steve Griffith&lt;/a&gt; can provide you with reliable crash courses and content to follow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You do not have to spend money on platforms to have access to. There are great free platforms that could provide you with a reliable source of information such as &lt;a href="https://www.freecodecamp.org/"&gt;FreeCodeCamp&lt;/a&gt;, which I highly recommend. You can also go with &lt;a href="https://www.codecademy.com/"&gt;Codecademy&lt;/a&gt; which has free access for HTML, CSS and JavaScript basics. But, if you want to go further with other languages, you will have to go pro and pay. I think that &lt;em&gt;Documentations&lt;/em&gt; are sufficient.&lt;/p&gt;

&lt;h4&gt;
  
  
  Frontend &amp;amp; backend
&lt;/h4&gt;

&lt;p&gt;Before starting, you have to understand the difference between a &lt;em&gt;front-end developer&lt;/em&gt;, a &lt;em&gt;backend developer&lt;/em&gt;, and a &lt;em&gt;full-stack developer&lt;/em&gt; and the languages each part uses to achieve their goals.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A frontend developer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, a frontend developer deals with &lt;em&gt;client side&lt;/em&gt; which refers to whatever the user sees on the screen and interacts with. A frontend developer will have to acquire &lt;code&gt;HTML&lt;/code&gt;, &lt;code&gt;CSS&lt;/code&gt;, &lt;code&gt;JavaScript&lt;/code&gt;, and later go with &lt;code&gt;React&lt;/code&gt;. (S)he has to analyse the performance of a website, for example, and imagine enough to design it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A backend developer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, a backend developer deals with &lt;em&gt;server side&lt;/em&gt; which refers to whatever the user cannot see. Everything occurs in the background. Everything that has to do with functionalities like creating a shopping cart, making dynamic pages, creating app tools etc. A backend developer will have to acquire one of server-side languages such as &lt;a href="https://www.php.net/"&gt;PHP&lt;/a&gt;, &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt;, &lt;a href="https://www.python.org/"&gt;Python&lt;/a&gt; etc and a relational (&lt;a href="https://www.mysql.com/"&gt;MySQL&lt;/a&gt;, &lt;a href="https://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt;, &lt;a href="https://www.ibm.com/analytics/database-management"&gt;IBM&lt;/a&gt;) or non-relational (such as &lt;a href="https://www.mongodb.com/"&gt;MongoDB&lt;/a&gt;, &lt;a href="https://cassandra.apache.org/"&gt;Cassandra&lt;/a&gt;) database.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A full stack developer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A full-stack developer deals with both frontend and backend sides.&lt;/p&gt;

&lt;h4&gt;
  
  
  Consistency
&lt;/h4&gt;

&lt;p&gt;Juniors often start taking it lightly. Keep in mind: to become a professional web developer or programmer, you have to learn and practise as much as possible through &lt;em&gt;doing&lt;/em&gt;. The keyword here is &lt;em&gt;doing&lt;/em&gt;. You have to be consistent and stick to a determined schedule.&lt;/p&gt;

&lt;h4&gt;
  
  
  Libraries &amp;amp; frameworks
&lt;/h4&gt;

&lt;p&gt;I wish I knew this when I had started my journey. &lt;code&gt;Libraries&lt;/code&gt; and &lt;code&gt;frameworks&lt;/code&gt; are coded by other developers and software engineers. Most people in the area use both terms interchangeably, but there is a subtle difference.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Libraries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A &lt;code&gt;library&lt;/code&gt; is a set of thousand codes or rules pre-defined for us to employ. For instance, &lt;a href="https://jquery.com/"&gt;jQuery&lt;/a&gt; is a JavaScript library that provides us with ready-made code put together to help us &lt;em&gt;write less and do more&lt;/em&gt;. In a nutshell, you manage and dominate the library the way you want.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frameworks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A &lt;code&gt;framework&lt;/code&gt; is also a set of thousand predefined codes or rules. But you cannot control it; it controls the flow of your work. For example, after finishing with HTML, CSS, and JavaScript and having a basic understanding of server-side, you will have to pick a framework to stick to when building your projects. Frameworks such as &lt;a href="https://vuejs.org/"&gt;Vue&lt;/a&gt; and &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt; target frontend. &lt;a href="https://expressjs.com/"&gt;Express&lt;/a&gt; is another framework for &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt; on the server-side.&lt;/p&gt;

&lt;h4&gt;
  
  
  Problem-solving &amp;amp; errors
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Problem-solving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A developer or programmer has to have a particular mindset before starting the journey. Keep in mind that developing or programming is all about &lt;em&gt;problem-solving&lt;/em&gt;. Keep that mindset during the entire journey from learning to becoming a professional developer or programmer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is the standard to make mistakes. We are not born smart. The great portion of the entire journey aims at going through trial and error to reach the problem-solving stage. Although I'm not a big fan of &lt;a href="https://stackoverflow.com/"&gt;Stackoverflow&lt;/a&gt;, you still can check it out for error solving. I recommend you to understand your code and solve it yourself.&lt;/p&gt;

&lt;h4&gt;
  
  
  Tricks &amp;amp; hacks
&lt;/h4&gt;

&lt;p&gt;Through the entire journey, there are &lt;code&gt;tricks&lt;/code&gt; and &lt;code&gt;hacks&lt;/code&gt; you have to learn. No one will ever tell you about them unless you do your thorough research. I recommend &lt;a href="https://dev.to/"&gt;Dev.to&lt;/a&gt;, &lt;a href="https://css-tricks.com/"&gt;CSS-Tricks&lt;/a&gt;, &lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt; which provide informative articles that can help you during your work.&lt;/p&gt;

&lt;h4&gt;
  
  
  Best and bad practices
&lt;/h4&gt;

&lt;p&gt;Last thing to keep in mind: there are radically two ways of writing your code; either the &lt;em&gt;best&lt;/em&gt; way or the &lt;em&gt;bad&lt;/em&gt; way. A good practice aims at achieving a clean and highly-secured code which doesn't allow room for bugs to break it down. A bad practice, which you should avoid, leaves your code not clear, not clean and, most importantly, fragile. That's to say it could easily break. &lt;/p&gt;

&lt;p&gt;The list could go on and on. But, these are the fundamentals you have to keep in mind as a junior developer.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>devjournal</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hamburger Animation SASS</title>
      <dc:creator>César</dc:creator>
      <pubDate>Sun, 07 Feb 2021 20:16:33 +0000</pubDate>
      <link>https://dev.to/cesar_code/hamburger-animation-sass-25n5</link>
      <guid>https://dev.to/cesar_code/hamburger-animation-sass-25n5</guid>
      <description>&lt;p&gt;Creating a hamburger animation has become a trend these days. There are plenty of different animations we can achieve through our code. In this tutorial, we will be creating a basic hamburger animation which is SASS-based and not CSS.&lt;/p&gt;

&lt;p&gt;First and foremost, what is SASS? &lt;a href="https://sass-lang.com/"&gt;SASS&lt;/a&gt; stands for &lt;em&gt;Syntactically Awesome StyleSheets&lt;/em&gt;. It aims at creating a CSS environment where you can control your CSS rules more efficiently. It makes your workflow easier to maintain and cleaner to edit. It's a preprocessor that complies SASS code into CSS and renders it on a webpage.&lt;/p&gt;

&lt;p&gt;SASS generally follows a particular syntax inspired by functional programming languages. It's CSS with superpowers. It comes with &lt;em&gt;variables&lt;/em&gt;, &lt;em&gt;functions&lt;/em&gt;, &lt;em&gt;conditions&lt;/em&gt;, &lt;em&gt;loops&lt;/em&gt; etc., which are highly useful. Let's take a look at how CSS and SASS look.&lt;/p&gt;

&lt;h3&gt;
  
  
  SASS basic structure would look like
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6NsvkT0---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h9k1iaczqfeb0ppjwijk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6NsvkT0---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h9k1iaczqfeb0ppjwijk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rendered or compiled CSS would look like
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EBvWEt_G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1q01nbp0rp59u4los1bt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EBvWEt_G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1q01nbp0rp59u4los1bt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We understand that SASS is a way of organising our code. It makes it not only maintainable but also easily reachable.&lt;/p&gt;

&lt;p&gt;In this tutorial, we will be creating this customizable hamburger:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SLe1sO6C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4n41h344x40qk0ekx14m.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SLe1sO6C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4n41h344x40qk0ekx14m.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Work in progress
&lt;/h3&gt;

&lt;p&gt;First of all, we have to set up our SASS files. SASS's overarching aim to make your life easier. Keeping that in mind, SASS allows us to separate our files like components to facilitate the workflow.&lt;/p&gt;

&lt;p&gt;I usually create the parent SASS file and its children. I end up with creating a big family tree. It makes everything easier than having one large CSS file where you have to scroll all way down and back to edit your code.&lt;/p&gt;

&lt;p&gt;After creating &lt;code&gt;index.html&lt;/code&gt; file and &lt;code&gt;main.js&lt;/code&gt;, I usually create the SASS parent file &lt;code&gt;magic.scss&lt;/code&gt;. With that being done, I start working out the children. Basic set up includes &lt;code&gt;_config.scss&lt;/code&gt;, &lt;code&gt;_presets.scss&lt;/code&gt;, &lt;code&gt;_body.scss&lt;/code&gt;, and &lt;code&gt;_extras.scss&lt;/code&gt;. The children begin with &lt;em&gt;underscores&lt;/em&gt; because we don't need these files in actual terms. They're just meant to serve developmental purposes as they will be ignored.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;_config.scss&lt;/code&gt; file contains all configurations including &lt;em&gt;variables&lt;/em&gt;, &lt;em&gt;mixins&lt;/em&gt;, &lt;em&gt;functions&lt;/em&gt;, &lt;em&gt;placeholders&lt;/em&gt; and so on. &lt;code&gt;_presets.scss&lt;/code&gt; contains the &lt;em&gt;CSS universal selector *&lt;/em&gt; to get rid of browser default styles. &lt;code&gt;_extras.scss&lt;/code&gt; file contains all &lt;em&gt;classes&lt;/em&gt; that are called through JavaScript. We will also need another file for the hamburger menu &lt;code&gt;_container.scss&lt;/code&gt;, which is not necessary but to make use of compositions. Now after creating these files, we have to import them to the parent file &lt;code&gt;magic.scss&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eze7Dc3---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0vn700duwac819w347hw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eze7Dc3---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0vn700duwac819w347hw.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great! Let's now start our &lt;code&gt;index.html&lt;/code&gt;. It's going to be a simple HTML structure. Creating a customizable hamburger doesn't oblige us to import it as an icon from any external sources. This fact will minimize any HTTP requests as an advantage. Now, after creating the HTML skeleton and linking our compiled CSS file and script:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oGKCDeQz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/893y395xcvlx3wr1cup3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oGKCDeQz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/893y395xcvlx3wr1cup3.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We need to create our content. I am following the &lt;a href="https://en.bem.info/"&gt;BEM HTML Architecture&lt;/a&gt;, which is a methodology that &lt;em&gt;helps us to create reusable components and code sharing in front-end development&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NtIvLgs5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7fwrbka3bnbcsl4h9of2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NtIvLgs5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7fwrbka3bnbcsl4h9of2.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note that I have created three &lt;code&gt;spans&lt;/code&gt; for our bars. We could have opted for &lt;code&gt;div&lt;/code&gt; blocks; however, I think &lt;code&gt;div&lt;/code&gt; blocks shouldn't carry simple bars. We don't need to create an entire division block for simple bars. Having that in mind, &lt;code&gt;spans&lt;/code&gt; are inline elements by default. We will have to change them as block elements later on. The reason I created &lt;code&gt;container__hamburger&lt;/code&gt; to create the hovering or clicking space. That is when a user clicks on the parent &lt;code&gt;container__hamburger&lt;/code&gt;, the lines transform themselves into a close button.&lt;/p&gt;

&lt;p&gt;We're done with &lt;code&gt;index.html&lt;/code&gt; and let's jump into styles. First things first, let's deal with the &lt;code&gt;_body.scss&lt;/code&gt; file and our element&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--31oQXfac--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uvjpzgy3jfubho256ard.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--31oQXfac--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uvjpzgy3jfubho256ard.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Did we just add &lt;code&gt;background: $black;&lt;/code&gt;? Definitely! SASS allows us to store values in variables and use or reuse them whenever needed. This fact makes us avoid repetition and write readable code. Read more and enjoy &lt;a href="https://sass-lang.com/documentation/variables"&gt;SASS Variables&lt;/a&gt;. The reason I used &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox"&gt;Flexbox&lt;/a&gt; to create a &lt;em&gt;column&lt;/em&gt; based structure so that I can have the heading and hamburger stand on the top of each other. Now let's add some styles to the title:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rZq2ci6t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bpx6oxxcdz5ztm9o03ak.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rZq2ci6t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bpx6oxxcdz5ztm9o03ak.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice here there is something strange going on. It's not. First thing comes to mind why on earth that title set of rules is there, right? That's what we call &lt;a href="https://sass-lang.com/documentation/style-rules#nesting"&gt;SASS Nesting&lt;/a&gt; which allows us to be more accurate than CSS does. Children who belong to their parents are never out of their parents' charge.&lt;/p&gt;

&lt;p&gt;Now, let's move to &lt;code&gt;_container.scss&lt;/code&gt;. Here where our hamburger thrives. We have to set the margins and the cursor as the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LIGny-Kt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9e2mvnl48vmm52kp764x.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LIGny-Kt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9e2mvnl48vmm52kp764x.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You must be wondering about that &lt;code&gt;&amp;amp; ampersand&lt;/code&gt; right? Another feature that SASS provides us with is &lt;a href="https://sass-lang.com/documentation/style-rules/parent-selector"&gt;SASS Ampersand&lt;/a&gt;. It's a parent selector. In this case, following the &lt;a href="https://en.bem.info/"&gt;BEM Architecture&lt;/a&gt;, we end up having children inheriting their parent's name. To avoid repetition, instead of re-typing parent's name all over again, we can add &lt;em&gt;an ampersand&lt;/em&gt; to represent the parent and finish children's names. A subtle way to avoid wasting time.&lt;/p&gt;

&lt;p&gt;We're done with the parents now let's move to the bars:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AfK_JFV3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qrqxqh933jfatccketxu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AfK_JFV3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qrqxqh933jfatccketxu.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are the colour variables:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UAK-5RiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/clddr1rnj01bsmy3e0oj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UAK-5RiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/clddr1rnj01bsmy3e0oj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here are our mixins:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b7yQo_eK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3hwyxan0csd4y1zvhxjk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b7yQo_eK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3hwyxan0csd4y1zvhxjk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice here that we can pass parameters to mixins which can be very useful later on in the code. We can now reuse &lt;em&gt;radius&lt;/em&gt; mixin as much as we can without repeating the entire block with vendor prefixes. That's the nightmare SASS tries to eliminate.&lt;/p&gt;

&lt;p&gt;Now we have our bars ready to rotate and transform into a close button. Let's move to our next step that targets &lt;code&gt;_extras.scss&lt;/code&gt;. Earlier, I have said that I use &lt;em&gt;extras&lt;/em&gt; file to keep classes which will interact using JavaScript. Let's work the &lt;em&gt;transform&lt;/em&gt; part first. We have to create two mixins. First, one to contain &lt;code&gt;translateX&lt;/code&gt; and the second one containing &lt;code&gt;rotateZ&lt;/code&gt; &amp;amp; &lt;code&gt;translate&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yxV7QWWE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nvejpf17xf852ldg31x4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yxV7QWWE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nvejpf17xf852ldg31x4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then we have to set our code. We have to add three classes for three bars which we will need for JavaScript to toggle them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mLKG-c_W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4bk197x8mol2etbpkyyq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mLKG-c_W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4bk197x8mol2etbpkyyq.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reason we're adding &lt;code&gt;visibility: hidden;&lt;/code&gt; because we want the top line to disappear altogether from the webpage. Hence it won't affect anything on the page. The last thing to do is to make our hamburger work through JavaScript.&lt;/p&gt;

&lt;p&gt;We have to create two variables to store both the parent and the children. When a user clicks on the parent, the three classes we have just created toggle in and out once clicked again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c-ZhStAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nqbzw0pesrvl2e63d031.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c-ZhStAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nqbzw0pesrvl2e63d031.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here we get our final basic hamburger animation. Many ways can lead you to achieve this, but I recommend you to find a fast and better way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SLe1sO6C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4n41h344x40qk0ekx14m.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SLe1sO6C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4n41h344x40qk0ekx14m.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>sass</category>
      <category>css</category>
      <category>animation</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
