.tabs { display: flex; flex-wrap: wrap; } .tabs > input { display: none; } .tabs > input:checked + label + div { display: block; } .tabs > label { order: 1; } .tabs > div { display: none; flex-basis: 100%; order: 2; } /**/ .tabs { border: 1px solid; } .tabs > input:checked + label { background-color: gray; } .tabs > label { padding: 10px; } .tabs > div { padding: 10px; }