No he usado SASS durante mucho tiempo y quería saber si hay algunos problemas con pseudo-elementos como :first-child
o :last-child
?sass: primer hijo no funciona
Respuesta
Si bien @Andre tiene razón en que existen problemas con los pseudo elementos y su compatibilidad, especialmente en los navegadores antiguos (IE), ese soporte mejora constantemente.
En cuanto a su pregunta, si hay algún problema, diría que realmente no he visto ninguno, aunque la sintaxis para el pseudo-elemento puede ser un poco complicado, especialmente cuando primero lo susto. Por lo tanto:
div#top-level
declarations: ...
div.inside
declarations: ...
&:first-child
declarations: ...
que recoge como uno esperaría:
div#top-level{
declarations... }
div#top-level div.inside {
declarations... }
div#top-level div.inside:first-child {
declarations... }
no he visto ninguna documentación sobre nada de esto, salvo por la afirmación de que "Sass puede hacer todo lo que puede hacer css. " Como siempre, con Haml y SASS, la sangría es todo.
Muy útil: como se indicó anteriormente, no te olvides de poner ** y ** delante de **: primer hijo ** como en ** &: primero -child ** –
En su ejemplo, ¿no debería esperar que se compile en div # top-level: first-child? The &: first-child está fuera del bloque div.inside, ¿por qué se aplicará a div.inside? – Danny
@Danny: Absolutamente correcto: he actualizado el ejemplo para reflejarlo. – nomadkbro
En primer lugar, todavía hay navegadores que no son compatibles con esos pseudo-elementos (es decir: first-child,: last-child), por lo que debe 'tratar' este problema.
No es un buen ejemplo de cómo hacer que el trabajo sin necesidad de utilizar pseudo-elementos:
- ver el ejemplo de tubo separador.
Espero que haya sido útil.
En una nota lateral, es bueno saber que: first-child está con nosotros desde CSS2 y por lo tanto, es ampliamente compatible, mientras que: last-child se ha agregado solo en CSS3. – Ronny
Estoy de acuerdo contigo @Ronny, pero aún así, la gente tiene que enfrentar algunos problemas con las versiones anteriores de los navegadores Aunque: first_child apareció en CSS2, los navegadores antiguos actúan con errores. Referencia: http://reference.sitepoint.com/css/pseudoclass-firstchild – sfat
Sí, pero cuando se trabaja en los casos más comunes: eliminando el primer/último borde y similares, no hay razón para usar el par aún menos selector compatible. Aparte de eso, estoy a favor de la degradación agresiva ;-) – Ronny
Creo que es mejor (para mi expirience) para utilizar: :first-of-type
, :nth-of-type()
, :last-of-type
. Se puede hacer con un pequeño cambio de reglas, pero pude hacer mucho más que *-of-type
, que *-child
selectores.
- 1. ¿Por qué no funciona este selector CSS: primer hijo?
- 2. Menos primer hijo
- 3. mixins Sass/CSS3 brújula no funciona
- 4. ¿Cómo puedo usar un selector no: primer hijo?
- 5. Cómo combinar: primer hijo y: hover?
- 6. Aplicando último hijo elemento no funciona
- 7. ¿Cómo comprobar si el elemento no es el primer hijo?
- 8. Excluir al primer hijo con XSL-T
- 9. CSS primer hijo de la clase específica
- 10. primer hijo común de dos confirmaciones
- 11. ¿Por qué el primer párrafo no toma este estilo p: primer hijo?
- 12. Uso de: visible y: primer hijo juntos en jQuery
- 13. primer nodo hijo en XSLT utilizando Local-name()
- 14. ¿Cómo agregar clases al primer hijo con jQuery?
- 15. caso mouseleave no funciona en absoluto elemento hijo
- 16. El primer hijo de CSS y el último hijo no funcionan cuando se usa en el mismo elemento
- 17. lapso de selector css: número de primer hijo
- 18. Quita el borde superior del primer hijo y el borde inferior del último hijo en CSS
- 19. Compatibilidad con el navegador para CSS: primer hijo y: último hijo
- 20. comportamiento impar con CSS: primer hijo: antes en Chrome
- 21. WPF Dockpanel primer hijo utiliza el espacio restante
- 22. Por qué: el primer hijo selecciona todos los niños?
- 23. Argumento CSS para "si el primer hijo es"
- 24. La referencia ANTLR definitiva - Primer programa no funciona
- 25. Animación: la lista no funciona: muestra solo el primer elemento
- 26. JPA OneToMany no elimina hijo
- 27. jQuery: seleccione la entrada del primer hijo dentro del formulario, pero no cuando escriba: oculto?
- 28. Jpa OneToMany no persistir hijo
- 29. Buscar hijo por índice jQuery
- 30. ¿Por qué, el primer query.ToList() funciona, pero el segundo no funciona?
¿Cuáles son los problemas? – sandeep
En ** scss ** tuve que hacer: 'div {> div: nth-child (1) {styles}}' – protoEvangelion