Yes, it will work if the element is positioned correctly and has a width
specified.
In the example below, left: 0
/right: 0
is added so that the element is centered relative to the parent. For instance:
.container {
position: relative;
}
.absolute {
position: absolute;
width: 80%;
height: 40px;
background-color: #000;
margin: 0 auto;
left: 0;
right: 0;
}
<div class="container">
<div class="absolute"></div>
</div>
Alternatively, you can also use a combination of left: 50%
/transform: translateX(-50%)
in order to center the element horizontally.
.container {
position: relative;
}
.absolute {
position: absolute;
width: 80%;
height: 40px;
background-color: #000;
left: 50%;
transform: translateX(-50%);
}
<div class="container">
<div class="absolute"></div>
</div>