EDIT: мой код работает. Я просто использовал компьютер с меньшим экраном для просмотра кода. Как только я переместил его на экран большего размера, пространство между ними стало работать нормально. Я думал, что схожу с ума, но разобрался с проблемой
По какой-то причине мой justify-content: space-between не разделяет мои элементы. Теги h1, button и select в классе .controls расположены рядом друг с другом, когда они должны быть разделены пробелом между ними.
Вот мой HTML и CSS, а в классе .controls пространство для выравнивания содержимого между элементами не является интервалом. Обратите внимание, что у меня также есть 2 других раздела в моем HTML-коде, помеченные как малый барабан и хай-хэт, но приведенный выше HTML-код показывает только раздел бочки.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: sans-serif;
}
i,
svg {
pointer-events: none;
}
.kick-pad,
.snare-pad,
.hihat-pad {
width: 5rem;
height: 5rem;
margin: 1rem 0.5rem;
cursor: pointer;
}
.hihat-track,
.snare-track,
.kick-track {
display: flex;
align-items: center;
width: 70%;
justify-content: space-between;
margin-top: 4rem;
}
.sequencer {
display: flex;
min-height: 100vh;
flex-direction: column;
align-items: center;
justify-content: center;
}
.kick,
.snare,
.hihat {
display: flex;
}
.controls {
display: flex;
justify-content: space-between;
align-self: center;
flex: 1;
margin: 0rem 2rem;
}
.controls button {
padding: 1rem;
border: none;
background: rgb(88, 88, 88);
color: white;
font-size: 1rem;
cursor: pointer;
transition: all 0.5s ease;
}
.pad {
transition: all 0.5s ease;
}
.play {
padding: 1rem 2rem;
font-size: 1.5rem;
background: rgb(88, 88, 88);
border: none;
color: white;
cursor: pointer;
margin-top: 3rem;
}
select {
padding: 1rem;
font-size: 1rem;
}
<div class="sequencer">
<div class="kick-track">
<div class="controls">
<h1>Kick</h1>
<button data-track="0" class="mute kick-volume">
<i class="fas fa-volume-mute"></i>
</button>
<select name="kick-select" id="kick-select">
<option value="./sounds/kick-classic.wav">Classic Kick</option>
<option value="./sounds/kick-808.wav">808 Kick</option>
<option value="./sounds/kick-heavy.wav">Kick Heavy</option>
</select>
</div>
<div class="kick">
<div class="pad kick-pad b0"></div>
<div class="pad kick-pad b1"></div>
<div class="pad kick-pad b2"></div>
<div class="pad kick-pad b3"></div>
<div class="pad kick-pad b4"></div>
<div class="pad kick-pad b5"></div>
<div class="pad kick-pad b6"></div>
<div class="pad kick-pad b7"></div>
</div>
</div>
Вот изображение того, как это выглядит в настоящее время, и я не знаю, почему они застряли рядом, хотя я использую justify-content:space-between.
1 ответ
Я бы рекомендовал добавить некоторую ширину в класс, например
.controls { width: 20vw; }
или .controls { width: 100%; }
Похожие вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].
justify-content: space-between;
, чтобы оно вступило в силу. чтобы увидеть эффект удалить.kick