Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to align images in HTML

Understanding HTML Images

When you're learning the ropes of programming, starting with HTML is a great choice. HTML stands for HyperText Markup Language, which is the backbone of any website you see on the internet. One of the elements you'll frequently work with is images. In this post, we're going to explore how to align images in HTML.

The Basics of HTML Images

Images in HTML are defined with the <img> tag. This tag is empty, meaning it doesn't have a closing tag. The source of the image is defined in the src attribute, and the alt attribute is used to provide an alternative text for the image if it can't be displayed. Here's an example:

<img src="myImage.jpg" alt="My beautiful image">

The Old Way: HTML align Attribute

In the early days of HTML, there was an align attribute for the <img> tag. You could use align="left" or align="right" to float the image to the left or right, and the text would wrap around it. Here's an example:

<img src="myImage.jpg" alt="My beautiful image" align="right">

However, this attribute is not supported in HTML5, the latest version of HTML. It's not recommended to use it, as it makes your code less flexible and harder to manage. It's like using a hammer to fix everything in your house; it might work for some things, but not for all, and you can end up breaking something.

The Modern Way: CSS

Nowadays, to align images (or any other element), we use CSS, which stands for Cascading Style Sheets. CSS is a language used to describe the look and formatting of a document written in HTML. It's like the director of a play, telling where each actor (element) should go on the stage (web page).

To align an image in CSS, we can use the float property. float: left; will move the image to the left and let the text wrap around it on the right, and float: right; does the opposite. Here's an example:

<img src="myImage.jpg" alt="My beautiful image" style="float: right;">

This is much better than the old align attribute, but it can still lead to some problems. For example, if you have multiple elements with float, they can overlap and cause layout issues.

The Best Way: CSS Flexbox

For more control and flexibility over the alignment, we can use the CSS Flexbox model. Flexbox is like a sophisticated director who can arrange the actors not only left and right but also in the center, evenly spaced, or any other way you can imagine.

To use Flexbox, we need to create a container element (like a <div>) around the image and apply display: flex; to it. Then we can use the justify-content and align-items properties to align the image. Here's an example:

<div style="display: flex; justify-content: center;">
  <img src="myImage.jpg" alt="My beautiful image">

In this example, justify-content: center; will center the image horizontally. We can also use flex-start (aligns to the left), flex-end (aligns to the right), space-around (even space around each image), and space-between (even space between each image).


And there you have it, from the outdated align attribute to the modern Flexbox model, now you know how to align images in HTML. Remember, always try to use the most up-to-date methods in your code. It's like using the right tool for the right job, it makes your work easier, faster, and less prone to errors. Happy coding!