2017-01-29 2 views
-1

Я в HTML-код, я не контролирую:zebra css игнорирует один элемент?

<div id="container"> 
    <input type="hidden"/ > 
    <div>...</div> 
    <input type="hidden"/ > 
    <div>...</div> 
    <input type="hidden"/ > 
    <div>...</div> 
</div> 

Я хочу, чтобы применить зебру CSS только див, конечно nth-child(odd) не будет работать, как и все дивы нечетные.

Что может быть правильным способом применить зебру, используя только css нет javascript?

+0

Что вопрос? Какие divs вы хотите выбрать? A [mcve] поможет –

ответ

2

Вместо nth-child, которые применяют стили для всех элементов сиблинга, для этого случая лучше использовать nth-of-type, которые применяют соответствие только к элементам того же типа.

#container div:nth-of-type(odd){ 
    background-color: #fafafa; 
} 
1

.one:nth-child(4n) { 
 
    color: red; 
 
} 
 
.one:nth-child(4n + 2) { 
 
    color: magenta; 
 
}
<div> 
 
    <input type="text"> 
 
    <div class="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia eaque impedit debitis repellat neque, voluptates labore sequi odit aut nesciunt ducimus magni accusamus, ab, eveniet hic unde quam voluptas quae.</div> 
 
    <input type="text"> 
 
    <div class="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia eaque impedit debitis repellat neque, voluptates labore sequi odit aut nesciunt ducimus magni accusamus, ab, eveniet hic unde quam voluptas quae.</div> 
 
    <input type="text"> 
 
    <div class="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia eaque impedit debitis repellat neque, voluptates labore sequi odit aut nesciunt ducimus magni accusamus, ab, eveniet hic unde quam voluptas quae.</div> 
 
    <input type="text"> 
 
    <div class="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia eaque impedit debitis repellat neque, voluptates labore sequi odit aut nesciunt ducimus magni accusamus, ab, eveniet hic unde quam voluptas quae.</div> 
 

 
</div>

http://jsbin.com/domucacodi/edit?html,css,output

+0

Не могли бы вы объяснить, как вы пришли к ответу? В чем логика «4n» и «4n + 2» –

+0

хорошо, ваш ответ определенно лучше, но 4n идет как 4, 8, 12 ... и 4n + 2 идет как 2, 6, 10 .., что является желаемый шаблон зебры –

+0

4n + 2 может не понадобиться. 4n делает 4 8 12, 4n + 2 делает 6 10 14 ... –

0

По Зебра CSS, вы имеете в виду альтернативный образец цвета для дивы правой.

Пользователь п-й ребенок дом с 4n + 2 значение

div:nth-child(4n+2){ 
    background: #000; 
} 
Смежные вопросы