Skip to content Skip to sidebar Skip to footer

Center Absolute Positioned Div

I have a div, in it there is a button: I let the button position to absolute, and its style code: .buy-btn { text-align: center; position: absolute; bottom: 10px;

Solution 1:

If i understood your question then it will work as below.

You can do it in three ways.

No1 - Using position. Apply width 100% to button parent div and apply the button style as bellow.

.buy-btn{
    display: inline-block;       /* Display inline block */text-align: center;          /* For button text center */position: absolute;          /* Position absolute */left: 50%;                   /* Move 50% from left */bottom: 10px;                /* Move 10px from bottom */transform: translateX(-50%); /* Move button Center position  */
}

No2 - Using parent div, apply width 100% to your parent div and remove the postion absolute from button.

.parentDiv {
    width: 100%;            /* for full width */text-align: center;     /* for child element center */
 }

.buy-btn{
    display: inline-block;       /* Display inline block */text-align: center;          /* For button text center */
}

No3 - Using margin, apply width 100% to your parent div and remove the postion absolute from button.

.parentDiv {
    width: 100%;            /* for full width */
 }

.buy-btn{
    display: inline-block;       /* Display inline block */text-align: center;          /* For button text center */margin: 0 auto;              /* For button center */
}

Solution 2:

/* Replace below css  and add position relative to its parent class*/.buy-btn {
       text-align: center;
       position: absolute;
       bottom: 10px;
       left: 50%;
       display: inline-block;
       transform: translateX(-50%);
    }

Solution 3:

you may add these.

.buy-btn {
    /* ... */left:50%;
    transform: translateX(-50%);
}

Solution 4:

Here is a solution using flexbox, hopefully you learn something from it.

.container{
  display: flex;
  height: 200px;
  width: 500px;
  background-color: powderblue;
  justify-content: center;
}


button{
  height: 20px;
  align-self: center;
}
<divclass="container"><button>click me</button></div>

Solution 5:

You need to use margin-left: auto; margin-right: auto; with position:absolute like given below:-

.btn-box{ position: relative; }
.btn-center {
    position: absolute;
    top: 10px;
    left: 0px;
    right: 0px;
    margin-left: auto;
    margin-right: auto;
    width:100px;
  }
<linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><ahref="#"class="btn btn-warning btn-center">Click here</a>

Post a Comment for "Center Absolute Positioned Div"