<div>
The HTML <div>
(division) element is a generic container used to group content together. It is used for styling and layout purposes, and does not affect the layout unless styled using CSS.
It is a non-semantic element, it does not represent a particular type of content, it's purpose is to group content for CSS styling.
💡 Tip: Use
<div>
when the content doesn't have a specific semantic meaning, but you need a generic container for CSS styling or layout.
Syntax
<div>
<p>Any HTML content can be placed inside a div wrapper</p>
</div>
When to use <div>
- To define page layout and structure web documents.
- For grouping content together for styling.
- When you need a container/wrapper but no semantic element is suitable.
📝 Note: Certain HTML elements are considered semantic because they more accurately describe the contents inside of them. E.g. the
<footer>
element describes the contents as a footer section.
Basic usage
Here is a simple example of using a <div>
element:
<div class="container">
<div class="courses">
<h3>Our Courses</h3>
<ul>
<li>JavaScript</li>
<li>Markdown</li>
<li>Command Line</li>
<li>Image Performance</li>
</ul>
</div>
<div class="about">
<h3>Learn more about us</h3>
<p>Learn web development was founded to provide free educational content, focusing on web development and coding languages.</p>
</div>
</div>
<div>
vs semantic elements
The <div>
element is non-semantic , meaning it does not describe the content it contains. Semantic elements like <main>
, <section>
, <header>
, <footer>
should be used when they are relevant to the content.
Here is an example of HTML using <div>
sections:
<div class="header">
<h1>Learn Web Development</h1>
</div>
<div class="container">
<p>Free tutorials and courses to help you learn web development.</p>
</div>
<div class="footer">
<p>© Learn-WebDevelopment.com</p>
</div>
This is valid HTML, but we can be more descriptive with the contents by using semantic elements where possible:
<header>
<h1>Learn Web Development</h1>
</header>
<main>
<p>Free tutorials and courses to help you learn web development.</p>
</main>
<footer>
<p>© Learn-WebDevelopment.com</p>
</footer>
Common use cases
- Grouping related content for styling.
- Creating page layout sections.
- Containers for CSS Grid or Flexbox layouts.
- Wrapping content for specific styling/CSS purposes.
Accessibility and best practices
- Add descriptive/clear class names to help with styling and maintenance.
- Use semantic elements if available to better describe the content.
Styling
The <div>
element is commonly styled with CSS for styling and layout purposes:
.container {
max-width: 100%;
margin: 0 auto;
}
.header {
background: blue;
color: white;
padding: 1rem 0;
}
.wrapper {
display: flex;
}
Conclusion
The <div>
element is a essential element for grouping HTML content for styling. While it has no semantic/descriptive meaning, it is ideal for wrapping content together for styling and layout purposes.