<div class="commentList">
<article class="comment " id="com21"></article>
<article class="comment " id="com20"></article>
<article class="comment " id="com19"></article>
<div class="something"> hello </div>
</div>
Quiero seleccionar #com19
?
.comment {
width:470px;
border-bottom:1px dotted #f0f0f0;
margin-bottom:10px;
}
.comment:last-child {
border-bottom:none;
margin-bottom:0;
}
Eso no funciona siempre que tenga otro div.something
como el último hijo real en la lista de comentarios. ¿Es posible usar el selector de último hijo en este caso para seleccionar la última aparición de article.comment
?
html
css
css-selectors
mate
fuente
fuente
last-of-class
.:nth-match(selector)
y:nth-last-match(selector)
. Ver w3.org/TR/selectors4 para más detalles.:nth-last-child(An+B of selector)
como:nth-last-match()
se dejó caer mucho antes, pero no se han molestado en actualizar el WD. Ver stackoverflow.com/questions/21167159/css-nth-match-doesnt-work/…Si está flotando los elementos, puede invertir el orden
es decir, en
float: right;
lugar defloat: left;
Y luego use este método para seleccionar el primer hijo de una clase.
En realidad, esto está aplicando la clase a la ÚLTIMA instancia solo porque ahora está en orden inverso.
Aquí hay un ejemplo de trabajo para usted:
fuente
.some-class~.some-class
funciona muy bien para mí cuando solo se repiten 2 elementos.Supongo que la respuesta más correcta es: Uso
:nth-child
(o, en este caso específico, su contraparte:nth-last-child
). La mayoría solo conoce este selector por su primer argumento para tomar un rango de elementos basado en un cálculo con n, pero también puede tomar un segundo argumento "de [cualquier selector CSS]".Su escenario podría resolverse con este selector:
.commentList .comment:nth-last-child(1 of .comment)
Sin embargo, ser técnicamente correcto no significa que pueda usarlo, ya que este selector solo está implementado en Safari.
Para más lectura:
fuente
Algo que creo que debería comentarse aquí que funcionó para mí:
Use
:last-child
varias veces en los lugares necesarios para que siempre obtenga el último de los últimos.Toma esto por ejemplo:
fuente
¿Qué hay de esta solución?
fuente
article
aquí, por lo que: not (: last-child) no es necesario para el ejemplo dado.something
pasa si el elemento con clase no existe en HTML original y se está insertando dinámicamentehover
? ¿No fallará esta solución?si el último tipo de elemento es artículo también,
last-of-type
no funcionará como se esperaba.tal vez no entiendo realmente cómo funciona.
manifestación
fuente