0

I have an image as a navigation bar that I wanted centered on the page. It has a fixed position which may be making it so it can't be centered.

HTML & CSS:

.navbar {
    display: block;
    position: fixed;
    top: 0;
    text-align: center;
}
<img src="Images/NavBar.png" alt="" class="navbar" usemap="#navbar-map" />

I have tried center tags, text-align: center, and left: auto; right: auto. None work. What's going wrong?

glhr
  • 4,439
  • 1
  • 15
  • 26
liaquore
  • 403
  • 8
  • 22

3 Answers3

2

try this with position fixed.

left:50%;
top:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-moz-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%);
1

You can set

.navbar {
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
}

.navbar {
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
}
<img src="https://i.pinimg.com/originals/44/cd/cb/44cdcb484a8febd81c1784cb11a96c7b.jpg" alt="" class="navbar" usemap="#navbar-map" />
Hien Nguyen
  • 24,551
  • 7
  • 52
  • 62
1

Just place the image inside a container, adding the class directly on the image tag is not a very good idea for future stuff.

.navbar {
  display: block;
  top: 0;
  text-align: center;
  margin: 0 auto;
}

.navbar-container {
  position: fixed;
  left: 0;
  right: 0;
  background: #ddd;
  height: 300px;
}
<div class="navbar-container">
  <img src="http://placekitten.com/200/300" alt="" class="navbar" usemap="#navbar-map" />
</div>

Or use the transformation

.navbar {
  left: 50%;
  transform: translateX(-50%);
  position: fixed;
}
<img src="http://placekitten.com/200/300" alt="" class="navbar" usemap="#navbar-map" />
Aslam
  • 9,204
  • 4
  • 35
  • 51