Я делаю радиокнопки. Это почти так, как я хочу.
input[type=radio] {
position: absolute;
visibility: hidden;
display: none;
}
label {
flex: 1 0 auto;
background-color: white;
text-align: center;
color: dimgray;
cursor: pointer;
font-weight: bold;
user-select: none;
padding: 5px;
width: 60px;
transition: background 0.2s, color 0.2s;
}
input[type=radio]:checked + label{
color: White;
background: dimgrey;
&:hover {
color: White;
background: dimgrey;
}
}
input[type=radio] + label:hover {
color: white;
background-color: lightgrey;
}
label + input[type=radio] + label {
border-left: 0.5px solid lightgrey;
}
.radio-group {
display: flex;
flex-wrap: wrap;
max-width: max-content;
align-items: stretch;
border: 0.5px solid dimgrey;
}<form>
<div class = "radio-group flexbox">
<input type = "radio" id = "alle" value = "alle" name = "selector" checked><label for = "alle">Alle</label
><input type = "radio" id = "aktiv" value = "aktiv" name = "selector" ><label for = "aktiv">Aktive</label
><input type = "radio" id = "inaktiv" value = "inaktiv" name = "selector"><label for = "inaktiv">Inaktive</label>
</div>
</form>Как это выглядит сейчас в упаковке:

Как я хочу, чтобы он выглядел после упаковки:

Как я могу это сделать? Я пробовал настраивать гибкость, направление, поток и т. д. Не смог заставить его работать так, как я хотел.
Обновлено: я хочу, чтобы он выглядел так, как в фрагменте по умолчанию (метки выстроены горизонтально). Я просто хочу, чтобы первая метка обернула его собственную строку, а две другие метки ниже, когда окно уменьшится.
Замечание: вам не нужна техника < ...wrap > во флексбоксе.






Пожалуйста, проверьте код ниже. Спасибо
input[type=radio] {
position: absolute;
visibility: hidden;
display: none;
}
label {
flex: 1 0 auto;
background-color: white;
text-align: center;
color: dimgray;
cursor: pointer;
font-weight: bold;
user-select: none;
padding: 5px;
width: 60px;
transition: background 0.2s, color 0.2s;
}
input[type=radio]:checked + label{
color: White;
background: dimgrey;
&:hover {
color: White;
background: dimgrey;
}
}
input[type=radio] + label:hover {
color: white;
background-color: lightgrey;
}
label + input[type=radio] + label {
border-left: 0.5px solid lightgrey;
}
.radio-group {
display: flex;
flex-wrap: wrap;
max-width: max-content;
align-items: stretch;
border: 0.5px solid dimgrey;
}
.radio-group.flexbox > label:nth-child(2) {
width: calc( 100% - 12px ) !IMPORTANT;
}<form>
<div class = "radio-group flexbox">
<input type = "radio" id = "alle" value = "alle" name = "selector" checked><label for = "alle">Alle</label
><input type = "radio" id = "aktiv" value = "aktiv" name = "selector" ><label for = "aktiv">Aktive</label
><input type = "radio" id = "inaktiv" value = "inaktiv" name = "selector"><label for = "inaktiv">Inaktive</label>
</div>
</form>
width: 100% для этого элемента и включить обертку на гибком контейнере