CSS Свойство justify-content space-around распределяет элементы не равномерно. Как исправить данную проблему?
Выводит элементы (кнопки) так:
А должно быть так:
Но, тут применялось свойство padding-left.
По каким причинам space-around не хочет равномерно расставлять элементы по всей оси? Как исправить данную проблему?
.popup {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.7);
overflow-y: auto;
overflow-x: hidden;
opacity: 0;
visibility: hidden;
}
.popup__body {
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 30px 10px;
}
.popup__container {
background-color: #1f1f1f;
color: #fff;
font-weight: bold;
font-size: 1.6rem;
width: 100%;
height: 300px;
max-width: 600px;
border-radius: 5px;
overflow: hidden;
margin-top: -1000px;
}
.popup__header {
padding: 10px 30px;
display: flex;
align-items: center;
font-size: 2.5rem;
justify-content: space-between;
margin-bottom: 20px;
background-color: #3f3f3f;
box-shadow: 0 2px 5px 2px #17181b;
}
.popup__close {
-webkit-user-select: none;
user-select: none;
text-decoration: none;
}
.popup__close img {
height: 30px;
width: 30px;
}
.popup__content {
padding: 10px 30px;
}
.popup__artist,
.popup__track {
display: flex;
margin-bottom: 25px;
align-items: center;
}
.popup__artist p,
.popup__track p {
flex-basis: 150px;
}
.popup__artist input,
.popup__track input {
cursor: pointer;
height: 35px;
width: 65%;
font-size: 1.5rem;
font-weight: bold;
padding: 0 10px;
border-radius: 20px;
background-color: #fff;
border: 2px solid #fff;
color: #000;
text-overflow: ellipsis;
transition: 0.4s;
}
.popup__artist input:hover,
.popup__track input:hover {
background-color: transparent;
color: #fff;
}
.popup__artist input:focus,
.popup__track input:focus {
background-color: transparent;
color: #fff;
box-shadow: 0 4px 8px 4px #17181b;
}
.popup__artist input::placeholder,
.popup__track input::placeholder {
letter-spacing: 1px;
}
.popup__btns {
margin-top: 30px;
display: flex;
justify-content: space-around;
padding-left: 10%;
}
.popup__upload {
position: relative;
}
.popup__upload input {
cursor: pointer;
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
}
.popup__upload,
.popup__save {
padding: 15px 25px;
border: 1px solid #fff;
min-width: 130px;
background-color: transparent;
font-size: 1.7rem;
color: #fff;
border-radius: 5px;
font-weight: bold;
text-align: center;
-webkit-user-select: none;
user-select: none;
line-height: 100%;
transition: 0.3s;
}
.popup__upload:hover,
.popup__save:hover {
color: #000;
background-color: #fff;
}
<div id="popup" class="popup">
<div class="popup__body">
<div class="popup__container">
<div class="popup__header">
<div class="popup__title">Add a new song</div>
<a href="" class="popup__close">
<img src="img/close.svg" alt="close">
</a>
</div>
<form action="/upload" enctype="multipart/form-data" method="POST" name="fileupload" accept="audio/*" class="popup__content">
<div class="popup__track">
<p>Song name: </p>
<input name="name" type="text">
</div>
<div class="popup__artist">
<p>Artist: </p>
<input name="artist" type="text">
</div>
<div class="popup__btns">
<div class="popup__upload">
Select File
<input id="localFile" name="musicFile" multiple type="file">
</div>
<div>
<button name="submitbutton" onclick="uploadFile(event)" class="popup__save" type="submit">Upload</button>
</div>
<div id="outputDiv"></div>
</div>
</form>
</div>
</div>
</div>
Ответы (1 шт):
Автор решения: humster_spb
→ Ссылка
Проблема в <div id="outputDiv"></div>, который вместе с кнопками находится в блоке class="popup__btns", занимает место и влияет на выравнивание элементов. Визуально его не видно, но space-around распространяется и на него - отсюда такой перекос.


