HTML Course | Building Header of the Website
The header is the top part of the website and the important area for branding and navigation. In this chapter, you’ll learn how to build a header with the tags which we have already learnt.
Course Navigation

So far, we have created the navigation bar for the header of our website. The next thing to complete the header is to include the image and text above the image as shown below.

Let's again look at the part of the code for the header in our index.html file. The highlighted part of the code shows the image menu of the header
<!DOCTYPE html>
<!-- Header Menu of the Page -->
<header>
<!-- Top header menu containing
logo and Navigation bar -->
<div id="top-header">
<!-- Logo -->
<div id="logo">
<img src="images/logo.png" />
</div>
<!-- Navigation Menu -->
<nav>
<ul>
<li class="active">
<a href="#">Home</a>
</li>
<li>
<a href="#">About Us</a>
</li>
<li>
<a href="#">Our Products</a>
</li>
<li>
<a href="#">Careers</a>
</li>
<li>
<a href="#">Contact Us</a>
</li>
</ul>
</nav>
</div>
<!-- Image menu in Header to contain an Image and
a sample text over that image -->
<div id="header-image-menu">
</div>
</header>
Steps To Build Header of the Website
Step 1: Add an image in the header
To complete the image menu, we first need to add the image inside the div tag with id "header-image-menu" as shown in the above code.
- Click Here to download the given image.
- Add it to the images folder of your project.
- Include it inside the div with id = "header-image-menu".
<div id="header-image-menu">
<img src="images/slider.jpg">
</div>
Step 2: Add the text on the image
Add the text inside an <h2> tag and give the tag an id = "image-text" which will be used for adding styles.
Below is the final HTML code for the header menu after adding the images and text
<!DOCTYPE html>
<!-- Header Menu of the Page -->
<header>
<!-- Top header menu containing
logo and Navigation bar -->
<div id="top-header">
<!-- Logo -->
<div id="logo">
<img src="images/logo.png" />
</div>
<!-- Navigation Menu -->
<nav>
<ul>
<li class="active">
<a href="#">Home</a>
</li>
<li>
<a href="#">About Us</a>
</li>
<li>
<a href="#">Our Products</a>
</li>
<li>
<a href="#">Careers</a>
</li>
<li>
<a href="#">Contact Us</a>
</li>
</ul>
</nav>
</div>
<!-- Image menu in Header to contain an Image and
a sample text over that image -->
<div id="header-image-menu">
<img src="images/slider.jpg">
<h2 id="image-text">
A Basic Web Design course by GeeksforGeeks
</h2>
</div>
</header>
Output: Our webpage will now look like this.

Can you point out what is wrong with the above image? The answer is that the text is below the image and not at its correct position as shown in the template.
We will have to use CSS to add styles to the text and image in order to place the text over the image.
Steps to add CSS in the Header
Step 1: Styling the main image menu(#header-image-menu)
Give the image menu parent a margin of top as 10px and set its position to relative.
/*Add the below code to style.css*/
#header-image-menu{
top: 10px;
position: relative;
}
Step 2: Styling the image inside the image menu
Set the width of the image to 100% of the parent and remove the margins and padding.
/*Add the below code to style.css*/
#header-image-menu img{
width: 100%;
margin: none;
padding: none;
}
Step 3: Positioning the text(#image-text)
Set the position of the text to absolute first and give appropriate margins from left and top. Set the color and translate the text by 30% using the translate() function.
/*Add the below code to style.css*/
#image-text{
position: absolute;
top: 60%;
left: 60%;
font-family: 'Roboto';
color: #000;
transform: translate(-30%, -30%);
text-align: center;
}
The complete CSS code for the image menu will look something as below
/*****************************/
/* Styling Header Image Menu */
/*****************************/
#header-image-menu{
top: 10px;
position: relative;
}
#header-image-menu img{
width: 100%;
margin: none;
padding: none;
}
#image-text{
position: absolute;
top: 60%;
left: 60%;
font-family: 'Roboto';
color: #000;
transform: translate(-30%, -30%);
text-align: center;
}
On opening the index.html in the browser now, you will see the exact same header as shown in the sample video at the start of the course.

Now we have completed building the header of our website.