.button-wrap {
width: 200px;
height: 100px;
position: relative;
}
.spinner-wrapper {
background: lightgrey;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
display: grid;
place-items: center;
}
.spinner {
border: 5px solid #f3f3f3;
border-radius: 50%;
border-top: 5px solid #3498db;
width: 50px;
height: 50px;
-webkit-animation: spin 2s linear infinite;
/* Safari */
animation: spin 2s linear infinite;
}
/* Safari */
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
<button class="button-wrap">
submit
<div class="inner">
<div class="loader"></div>
</div>
</button>
<div class="spinner-wrapper">
<div class="spinner"></div>
</div>