PLAYGROUND HERECome modellare i pulsanti di opzione in modo diverso se si adattano a una singola riga?
Mi piacerebbe abbinare i pulsanti di opzione in modo diverso se si inseriscono in una singola riga. Ad esempio:
Il primo contenitore non ha spazio sufficiente per adattarsi a tutti i pulsanti di opzione in un'unica fila. Pertanto, appaiono verticalmente come normali pulsanti radio.
Il secondo contenitore ha spazio sufficiente. Pertanto, i pulsanti radio appaiono come pulsanti.
È possibile ottenere questo comportamento utilizzando solo il codice CSS?
In caso contrario, Javascript "hack" è il benvenuto.
HTML
<div class="container radio">
<div>
<input id="a1" type="radio" name="radio">
<label for="a1">Yes,</label>
</div>
<div>
<input id="a2" type="radio" name="radio">
<label for="a2">it</label>
</div>
<div>
<input id="a3" type="radio" name="radio">
<label for="a3">is</label>
</div>
<div>
<input id="a4" type="radio" name="radio">
<label for="a4">possible</label>
</div>
<div>
<input id="a5" type="radio" name="radio">
<label for="a5">to</label>
</div>
<div>
<input id="a6" type="radio" name="radio">
<label for="a6">achieve</label>
</div>
<div>
<input id="a7" type="radio" name="radio">
<label for="a7">this</label>
</div>
</div>
<div class="container buttons">
<div>
<input id="b1" type="radio" name="buttons">
<label for="b1">Yes,</label>
</div>
<div>
<input id="b2" type="radio" name="buttons">
<label for="b2">it</label>
</div>
<div>
<input id="b3" type="radio" name="buttons">
<label for="b3">is</label>
</div>
<div>
<input id="b4" type="radio" name="buttons">
<label for="b4">possible</label>
</div>
</div>
CSS (LESS)
.container {
display: flex;
width: 220px;
padding: 20px;
margin-top: 20px;
border: 1px solid black;
&.radio {
flex-direction: column;
}
&.buttons {
flex-direction: row;
> div {
input {
display: none;
&:checked + label {
background-color: #ADFFFE;
}
}
label {
padding: 5px 10px;
margin: 0 1px;
background-color: #ccc;
}
}
}
}
Mentre il collegamento alla riproduzione del JS Bin è molto apprezzato, è necessario inserire il codice pertinente nella domanda stessa per proteggersi da link-rot. Se il tuo obiettivo è quello di fornire una demo (di nuovo: molto apprezzata!), Puoi semplicemente utilizzare "[Stack Snippet] [Overwriting Frammento] di Stack Overflow (http://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css- e-html-code-snippets /) "funzionalità. –