2012-06-07 8 views
10
<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 
<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 
<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 

¿Cómo puedo diseñar vistas de cada segunda clase en css puro.¿Cómo puedo obtener cada segundo elemento si cada uno está incrustado en otro?

En jQuery que haría

$('*[class=views]:even').addClass('views'); 

Pero, ¿cómo puedo hacer esto CSS?

Respuesta

12

Usted puede utilizar la propiedad :nth-child para esto:

Ejemplo:

.question_container:nth-child(2n) .views{ 
    color: red; 
} 

:nth-child(2) seleccionaría única el segundo elemento, mientras que :nth-child(2n) seleccionará cada segundo elemento.

+4

En realidad creo su código solo daría estilo a un (el segundo) elemento, pero el OP pidió ** cada ** segundo elemento y, por lo tanto, el CSS debería ser: '.question_con tainer: nth-child (2n) .views' – Andrej

+0

@sandeep gracias, funcionó con Andrej 2n no 2. Cambie eso y lo acepto. Gracias por su ayuda – yehuda

+0

@Andrej gracias por corregirme :) – sandeep

0

Como se ha dicho @Andrej y @sandeep, que hace el trabajo:

<style> 
.question_container:nth-child(2n) .views{ 
    color: red; 
} 
</style> 

<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 
<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 
<div class="question_container"> 
    <div class="views"> 
     <div>10</div> 
    </div> 
    <div>Something else</div> 
</div> 

https://jsfiddle.net/pxmqc1au/

0

Bien se puede hacer que la caja tiene que ser la mitad del Ancho (50%)? Habiéndolos flotaron hacia la izquierda y luego despejado será la mejor solución

HTML:

<div class="legend-box"> 
    <div class="box"> [] box 1 </div> 
    <div class="box"> [] box 2 </div> 
    <div class="box"> [] box 3 </div> 
    <div class="box"> [] box 4 </div> 
    <div class="box"> [] box 5 </div> 
    <div class="box"> [] box 6 </div> 
    <div class="clear"></div> 
</div> 

CSS:

.box { 
    display: inline-block; 
    width: 50%; 
    float: left; 
} 

.clear { 
    clear: both; 
} 

Aquí es un violín: https://jsfiddle.net/r5xq9von/

Cuestiones relacionadas