The <div>
element is used as a container for other HTML elements.
The <div>
element is by default a block element, meaning that it takes all available width, and comes with line breaks before and after.
A <div> element takes up all available width:
Lorem Ipsum <div>I am a div</div> dolor sit amet.
The <div>
element has no required attributes, but style
, class
and id
are common.
The <div>
element is often used to group sections of a web page together.
A <div> element with HTML elements:
<div>
<h2>London</h2>
<p>London is the capital city of England.</p>
<p>London has over 13 million inhabitants.</p>
</div>
London is the capital city of England.
London has over 13 million inhabitants.
If you have a <div>
element that is not 100% wide, and you want to center-align it, set the CSS margin
property to auto
.
<style>
div {
width:300px;
margin:auto;
}
</style>
London is the capital city of England.
London has over 13 million inhabitants.
You can have many <div>
containers on the same page.
<div>
<h2>London</h2>
<p>London is the capital city of England.</p>
<p>London has over 13 million inhabitants.</p>
</div>
<div>
<h2>Oslo</h2>
<p>Oslo is the capital city of Norway.</p>
<p>Oslo has over 600.000 inhabitants.</p>
</div>
<div>
<h2>Rome</h2>
<p>Rome is the capital city of Italy.</p>
<p>Rome has almost 3 million inhabitants.</p>
</div>
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
When building web pages, you often want to have two or more <div>
elements side by side, like this:
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
There are different methods for aligning elements side by side, all include some CSS styling. We will look at the most common methods:
The CSS float
property was not originally meant to align <div>
elements side-by-side, but has been used for this purpose for many years.
The CSS float
property is used for positioning and formatting content and allow elements float next to each other instead of on top of each other.
How to use float to align div elements side by side:
<style>
.mycontainer {
width:100%;
overflow:auto;
}
.mycontainer div {
width:33%;
float:left;
}
</style>
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
Learn more about float in our CSS float tutorial.
If you change the <div>
element's display
property from block
to inline-block
, the <div>
elements will no longer add a line break before and after, and will be displayed side by side instead of on top of each other.
How to use display: inline-block to align div elements side by side:
<style>
div {
width: 30%;
display: inline-block;
}
</style>
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
The CSS Flexbox Layout Module was introduced to make it easier to design flexible responsive layout structure without using float or positioning.
To make the CSS flex method work, surround the <div>
elements with another <div>
element and give it the status as a flex container.
How to use flex to align div elements side by side:
<style>
.mycontainer {
display: flex;
}
.mycontainer > div {
width:33%;
}
</style>
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
Learn more about flex in our CSS flexbox tutorial.
The CSS Grid Layout Module offers a grid-based layout system, with rows and columns, making it easier to design web pages without having to use floats and positioning.
Sounds almost the same as flex, but has the ability to define more than one row and position each row individually.
The CSS grid method requires that you surround the <div>
elements with another <div>
element and give the status as a grid container, and you must specify the width of each column.
How to use grid to align <div> elements side by side:
<style>
.grid-container {
display: grid;
grid-template-columns: 33% 33% 33%;
}
</style>
London is the capital city of England.
London has over 13 million inhabitants.
Oslo is the capital city of Norway.
Oslo has over 600.000 inhabitants.
Rome is the capital city of Italy.
Rome has almost 3 million inhabitants.
Learn more about grid in our CSS grid tutorial.
Tag | Description |
---|---|
<div> | Defines a section in a document (block-level) |
For a complete list of all available HTML tags, visit our HTML Tag Reference.