Адаптивные вкладки (табы)

29 Августа 2016
css

Адаптивные вкладки без использования javascript

Архитектура переключателей:

<div class="tabs">
    <input id="tab_1" type="radio" name="tabs" checked>
    <label for="tab_1" title="Вкладка 1">Вкладка 1</label>
 
    <input id="tab_2" type="radio" name="tabs">
    <label for="tab_2" title="Вкладка 2">Вкладка 2</label>
    
    <section id="content_1">
        <p>Здесь размещаете любое содержание....1</p>
    </section>  
    <section id="content_2">
        <p>Здесь размещаете любое содержание...2</p>
    </section>
</div>

Стили переключателей:

.tabs {
    min-width: 320px;
    max-width: 800px;
    padding: 0px;
    margin: 0 auto; 
}
.tabs>section {
    display: none;
    padding: 15px;
    background: #fff;
    border: 1px solid #ddd;
}
.tabs>input {
    display: none;
}
.tabs>label {
    display: inline-block;
    margin: 0 0 -1px;
    padding: 15px 25px;
    font-weight: 600;
    text-align: center;
    color: #aaa;
    border: 1px solid #ddd;
    background: #f1f1f1;
    border-radius: 3px 3px 0 0;
}
.tabs>label:hover {
    color: #888;
    cursor: pointer;
}
.tabs>input:checked + label {
    color: #555;
    border: 1px solid #ddd;
    border-top: 1px solid #009933;
    border-bottom: 1px solid #fff;
    background: #fff;
}
#tab_1:checked ~ #content_1,
#tab_2:checked ~ #content_2{
    display: block;
}
@media screen and (max-width: 680px) {
    .tabs>label {
        font-size: 0;
    }
    .tabs>label:before {
        margin: 0;
        font-size: 18px;
    }
}
@media screen and (max-width: 400px) {
    .tabs>label {
        padding: 15px;
    }
}

Пример: пример