Skip to content
View in the app

A better way to browse. Learn more.

OKCCN - XenForo & IPS Plugin Marketplace

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
  • Language

CSS Centering Images

Featured Replies

  • Administrators

CSS Centering Images


Centering Images

With CSS, you can center images with several methods.

An image can be centered horizontally, vertically, or both.


Center an Image Horizontally

To display a horizontally centered image, we can use margin: auto; or display: flex;.

1. Using margin: auto

One way to center an image horizontally on a page is to use margin: auto.

Since the <img> element is an inline element by default (and margin: auto does not have any effect on inline elements) we must convert the image to a block element, with display: block.

In addition, we have to define a width. The width of the image must be smaller than the width of the page.

Here is a horizontally centered image using margin: auto:

Paris

Example

Horizontally centered image using margin: auto:

img {
  display: block;
  margin: auto;
  width: 50%;
}
Try it Yourself »

2. Using display: flex

Another way to center an image horizontally on a page is to use display: flex.

Here, we put the <img> element inside a <div> container.

We add the following CSS to the div container:

  • display: flex
  • justify-content: center (centers the image horizontally in the div container)

Then, we set a width for the image. The width of the image must be smaller than the width of the page.

Here is a horizontally centered image using display: flex:

Paris

Example

Horizontally centered image using display: flex:

div {
  display: flex;
  justify-content: center;
}

img {
  width: 50%;
}
Try it Yourself »


Vertical and Horizontal Centering

To display an image that is both vertically and horizontally centered (true centering), we can use display: flex; or display: grid;.

1. Using display: flex

To display an image that is both vertically and horizontally centered with flexbox, we use a combination of: 

  • display: flex;
  • justify-content: center; (centers the image horizontally in the container)
  • align-items: center; (centers the image vertically in the container)
  • height: 600px; (the height of the container)

Here, we also put the <img> element inside a <div> container.

Then, we set a width for the image (must be smaller than the width of the container).

Here is a vertically and horizontally centered image with flexbox:

Paris

Example

True centering using display: flex:

div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 600px;
  border: 1px solid black;
}

img {
  width: 50%;
}
Try it Yourself »

2. Using display: grid

To display an image that is both vertically and horizontally centered with grid, we use a combination of: 

  • display: grid;
  • place-items: center; (centers the image horizontally and vertically in the container)
  • height: 600px; (the height of the container)

Here, we also put the <img> element inside a <div> container.

Then, we set a width for the image (must be smaller than the width of the container).

Here is a vertically and horizontally centered image with grid:

Paris

Example

True centering using display: grid:

div {
 display: grid;
  place-items: center;
  height: 600px;
  border: 1px solid black;
}

img {
  width: 50%;
}
Try it Yourself »



Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.