<?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" version="2.0"><channel><title><![CDATA[Emmet for HTML]]></title><description><![CDATA[Emmet for HTML]]></description><link>https://emmetintroduction.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 02:47:18 GMT</lastBuildDate><atom:link href="https://emmetintroduction.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Emmet for HTML: A Beginner’s Guide to Writing Faster Markup]]></title><description><![CDATA[How slow writing HTML without emmet?
When we spin(open) code editor like VS code for writing some code for HTML, CSS and any kind of language.But when we start writing HTML line by line in code editor(VS code) it’s take more time to write HTML tags, ...]]></description><link>https://emmetintroduction.hashnode.dev/emmet-for-html-a-beginners-guide-to-writing-faster-markup</link><guid isPermaLink="true">https://emmetintroduction.hashnode.dev/emmet-for-html-a-beginners-guide-to-writing-faster-markup</guid><category><![CDATA[Emmet]]></category><category><![CDATA[HTML5]]></category><dc:creator><![CDATA[raushan kumar]]></dc:creator><pubDate>Fri, 30 Jan 2026 08:20:58 GMT</pubDate><content:encoded><![CDATA[<h3 id="heading-how-slow-writing-html-without-emmet"><strong>How slow writing HTML without emmet?</strong></h3>
<p>When we spin(open) code editor like VS code for writing some code for HTML, CSS and any kind of language.But when we start writing HTML line by line in code editor(VS code) it’s take more time to write HTML tags, class, ID, content and many kinds HTML elements and also write some elements in repeated times it’s fells boring and erritative. To solve this problem Emmet comes into the picture.</p>
<h3 id="heading-what-is-emmet">What is emmet?</h3>
<p>Emmet is open source tool kit to write HTML, CSS, in code editors. It comes with VS code in built, it’s no need to install. It speeds workflow of developers when they write HTML, CSS by using the abbreviations that expand into full code blocks.</p>
<p>When beginners type HTML before emmet execution they write line by line</p>
<pre><code class="lang-xml"><span class="hljs-meta">&lt;!DOCTYPE <span class="hljs-meta-keyword">html</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">html</span> <span class="hljs-attr">lang</span>=<span class="hljs-string">"en"</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">head</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1.0"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">title</span>&gt;</span>Document<span class="hljs-tag">&lt;/<span class="hljs-name">title</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">head</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">body</span>&gt;</span>

<span class="hljs-tag">&lt;/<span class="hljs-name">body</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">html</span>&gt;</span>
</code></pre>
<p>But when they learn about emmet here,</p>
<h3 id="heading-how-emmet-work-inside-code-editor">How emmet work inside code editor?</h3>
<p><strong>Stage 1: When you type in code editor like</strong> <code>div&gt;ul&gt;li</code> and press tab or enter.</p>
<p>Satge 2: Code editors check is it HTML file or not, If Yes then text send to the emmet engine</p>
<p>Stage 3: Emmet engine analyze the text and breaks it into token form. This is known as parsing</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769755820184/e2efa3cb-67d2-41a6-bc80-e4f0fd40e5cb.png" alt class="image--center mx-auto" /></p>
<p><strong>Stage 4:</strong> Emmet convert this into DOM (It happens internally)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769756166299/14d425d2-7d02-4480-bfe1-ed3796c99a15.png" alt class="image--center mx-auto" /></p>
<p><strong>Stage 5:</strong> When DOM is generate it converts into code so final output is look like this</p>
<pre><code class="lang-html"> <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<p>press (shift+1) it’s show ! sign and after that press enter it’s automatically generate boilerplate code of HTML</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769751973401/266fcb8e-6842-4438-ae92-7b34d77616a1.png" alt class="image--center mx-auto" /></p>
<p>Beginnes guide of some emmet abberivation</p>
<p><strong>Basics emmet syntax</strong></p>
<ol>
<li>Parent-child(&gt;) : It prints the child</li>
</ol>
<p>type <code>div&gt;p</code> it’s print</p>
<pre><code class="lang-html">   <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span><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>
</code></pre>
<p>2.Siblings(+) : It’s print siblings</p>
<p>Type <code>div&gt;h1+div+p</code> it prints</p>
<pre><code class="lang-html"> <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><span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span><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>
</code></pre>
<ol start="3">
<li>Multiplication(*) : it’s prints how many times of an element</li>
</ol>
<p>Type <code>div&gt;ul&gt;li*3</code> it prints</p>
<pre><code class="lang-html">    <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<ol start="4">
<li><p>climb up(^) : move one level up</p>
<p> Type <code>div&gt;ul&gt;li^p</code> it print</p>
<pre><code class="lang-html"> <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span>
         <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
     <span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span><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>
</code></pre>
</li>
<li><p>Grouping( <mark>()</mark> ) : Group elments together</p>
</li>
</ol>
<p>Type <code>div&gt;(header+h1)+(section+a)^footer</code> it’s print</p>
<pre><code class="lang-html"> <span class="hljs-tag">&lt;<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">header</span>&gt;</span>
        <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 class="hljs-tag">&lt;/<span class="hljs-name">header</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">section</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><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">section</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">footer</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">footer</span>&gt;</span>
</code></pre>
<p>Above mention basics syntax of emmet and syntax are many kind of, when you start writing HTML you will learned automatically.</p>
<ol start="6">
<li>Adding classes, IDs, and attributes, content</li>
</ol>
<p>Type <code>div.container&gt;h1{This your H1 heading}+label+input:text[name=”first”]+h2#heading2{This is your H2 heading}</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769760920606/a0eaa737-4029-46f8-9cb9-a9dc134ca3ec.png" alt class="image--center mx-auto" /></p>
<p>Output of above type syntax</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"container"</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>This your H1 heading<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">label</span> <span class="hljs-attr">for</span>=<span class="hljs-string">""</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">label</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"”first”"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">""</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">h2</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"heading2"</span>&gt;</span>This is your H2 heading<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<p>That all for Emmet for HTML: A begginers guide.</p>
]]></content:encoded></item></channel></rss>