HTML Emmet: The Magical Power of HTML
Welcome to the aspiring world of Web Development. If you've ever wished for a faster, more efficient way to write HTML,
Emmet is your spell book. In this blog, we'll unravel the magical powers embedded in Emmet and explore how it can transform your HTML coding journey.
What is HTML Emmet?
HTML Emmet is a powerful and time-saving toolkit
for web developers that facilitates the rapid creation of HTML and XML code. Emmet provides a shorthand syntax
that allows you to write HTML more quickly and efficiently. Originally known as Zen Coding, Emmet has become an integral part of many modern web development workflows.
Use Emmet to Generate HTML Starter Code
Follow there steps:
Open Visual Studio Code
andcreate a new file
or open an existing file.Type “!”
to create the default body for HTML code.Press the “Expand Abbreviation” button or key (
Tab key
).This will expand the abbreviation into the following HTML starter code.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Features Of HTML Emmet
1. Abbreviation Expansion:
i. Adding ID and Class Attributes
You can specify ID and class attributes directly within the abbreviation. To add a class or ID to an HTML element using Emmet, you can use the following syntax:
To add a class to an element, use a dot (.
) followed by the class name and To add an ID to an element, use a hash (#
) followed by the ID name:
<!-- p.class1 -->
<p class="class1"></p>
<!-- p#id1 -->
<p id="id1"></p>
You can also add multiple classes or IDs
to an element by separating them with a (.
) for class and (#
) for IDs:
<!-- div#main-content.container.my-section>p -->
<div id="main-content" class="container my-section">
ii. Adding Custom Attributes
Using Emmet, you can construct a tag with a certain attribute and pass its value. To accomplish this must enclose the element name in square brackets []
. You can add multiple attributes
inside the bracket along with value separating them with commas. Here is a example how you can do that:
<!-- a[href="https://example.com"] -->
<a href="https://example.com"></a>
<!-- input[type="text", placeholder="Enter your text"] -->
<input type="text" placeholder="Enter your text">
iii. Adding Text
Using Emmet, you may also add sentences or paragraphs inside of tags.
To do this, you must write the element name inside the curly brackets.
The text item can be added within these curly brackets. Here is the example:
<!-- p{I am adding text} -->
<p>I am adding text</p>
iv. Parent -Child Relationship
Emmet allows you to specify children for your elements
by using the child operator >.
Applying this will create an element inside of another one, as many levels deep as you require.
Here is the code example:
<!-- div>ul>li -->
<div>
<ul>
<li></li>
</ul>
</div>
v. Adding Siblings
You can give HTML sibling tags by using Emmet. (Elements that have the same parent are considered siblings
.) To accomplish this, we must insert + symbols between tags. Code Example:
<!-- div>p+span+em -->
<div>
<p></p>
<span></span>
<em></em>
</div>
vi. Multiplication
We now know how to include a child inside of a tag. But what if we need to put more children inside the tag
(all with the same tag)? In certain circumstances, tag multiplication is an option.
After the tag that needs to be multiplied and before the number of repetitions, we need to add a *. Code Example:
<!-- div>li*5 -->
<div>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</div>
vii. Grouping
Emmet can be used to group HTML tags. To accomplish this, a bracket must be placed around the tags that will be gathered (). Code Example:
<!-- div>(nav>li*5)+section-->
<div>
<nav>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</nav>
<section>
</section>
</div>
2. Code Formatting:
HTML Emmet automatically formats the generated code in a clean and consistent manner.
It follows best practices for indentation, making your code readable and maintainable.
3. Code Snippets:
Emmet allows you to create and use custom code snippets, which are reusable pieces of code
. This is especially handy for frequently used structures or patterns. Code Example:
<!-- Define a custom snippet -->
{ "html": "html:5" }
<!-- Use the custom snippet -->
html
<!-- Result -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
</body>
</html>
4. Customization:
Emmet allows customization of its settings to tailor the behavior according to your preferences. You can customize abbreviation expansions, syntax, and more.
Example (VS Code settings.json):
"emmet.triggerExpansionOnTab": true,
"emmet.syntaxProfiles": {
"html": {
"attr_quotes": "single"
}
}
5. Cross-Editor Compatibility:
Emmet is designed to be cross-editor compatible
, meaning it works seamlessly across various code editors and IDEs.
Popular editors like Visual Studio Code, Sublime Text, Atom, and more support Emmet.
Advantages of HTML Emmet
Efficiency Boost: Emmet's shorthand syntax accelerates HTML and CSS coding, reducing keystrokes and speeding up development tasks.
Concise Readability: The concise syntax enhances code readability, making it cleaner and more maintainable.
Dynamic Coding: Emmet supports variables and dynamic content, enabling flexible and customizable code generation.
Rapid Prototyping: Ideal for rapid prototyping, Emmet allows developers to experiment with layouts and iterate quickly during the design process.
Easy to Learn: Emmet's simple and intuitive syntax makes it beginner-friendly, allowing developers to quickly grasp and implement its powerful features with minimal learning curve.
Thank You!
If You've reached to the end, You are a champ🏆. If you liked the Article consider sharing
it with others and stay connected
because much more is coming.
Your thoughts matter—feel free to drop any questions
or suggest topics for discussion
in the comments. Let's keep the conversation going!"
###
Subscribe to my newsletter
Read articles from Vivek Kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by