Created
December 6, 2013 16:47
-
-
Save marbiano/7828076 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Para los nombres de la clases uso un estilo similar a BEM, el cual consiste basicamente en: | |
* Separar objeto hijo de padre con __ (.product__name) | |
* Separar un tipo distinto del objeto base con -- (.product--offer) | |
Este estilo me sirve muchisimo para controlar la especificidad y entender leyendo directamente el html que es cada cosa, pero a veces se vuelve tedioso escribir el scss, porque repetis un monton, por ejemplo, para un objecto .product, una parte podria ser: | |
.product__name{} | |
.product__description{} | |
.product__action{} | |
.product__brand{} | |
... | |
Entonces esta feature nueva de Sass me ayuda a escribir menos codigo, convirtiendose el ejemplo anterior en: | |
.product{ | |
@at-root { | |
#{&}__name{} | |
#{&}__description{} | |
#{&}__action{} | |
#{&}__brand{} | |
} | |
} | |
Este es un caso muy basico y corto, pero se vuelve mas util y logico cuando .product tiene muchos elementos hijos, que a su vez pueden tener sus propios hijos. Ademas, supongamos que el dia de mañana quiero cambiar .product por .item. En mi version original, tendria que hacer un search & replace de todas las apariciones de .product__. Ya se, no es complicado, pero en esta nueva version se vuelve todo mas coherente y cohesivo, cambiando solamente la declaracion original de la clase. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment