Dynamique :dernier enfant en SASS
J'ai été déconner avec SASS pour un certain temps et ont fait quelques belles fonctions qui rend l'utilisation de @si @else if etc. Toutefois, j'ai deux morceaux de code sur un Mixin:
&:last-child { float: right; margin-right: 0; }
&:only-child { float: left; margin-right: 0; }
De toute évidence, cela s'applique à la fois de ces morceaux de code pour chaque élément I comprennent ce Mixin. Est-il un moyen dynamique de vérifier si un élément est un :dernier enfant /:seulement:enfant avec un @si la déclaration ou tout autres méthodes?
Quelque chose comme:
@if :last-child == True { float: right; margin-right:0; }
J'espère que je vous ai expliqué que suffisamment bien.
Grâce
La simple présence de
Yep mais il se répète le code pour chaque élément, je comprennent le Mixin. Si c'est le seul enfant je voudrais le faire fonctionner, si c'est le dernier enfant je voudrais faire une fonction différente, de ne pas vérifier à la fois.
:last-child
seront les seuls à vous permettre de tester si un élément est le dernier enfant.Yep mais il se répète le code pour chaque élément, je comprennent le Mixin. Si c'est le seul enfant je voudrais le faire fonctionner, si c'est le dernier enfant je voudrais faire une fonction différente, de ne pas vérifier à la fois.
OriginalL'auteur Richard Watts | 2013-06-03
Vous devez vous connecter pour publier un commentaire.
Sass ne sais rien à propos de votre document. Il ne peut pas vérifier si l'élément est le premier enfant ou un seul enfant. Sass ne peut être utilisé pour générer du CSS valide.
Si vous êtes à la recherche pour le dernier enfant qui n'est pas seulement l'enfant, c'est votre sélection:
http://tinker.io/1717b
Si vous êtes désireux de désactiver la sortie de l'un ou de l'autre (parce que vous savez déjà qu'un seul d'entre eux sera applicable dans ce cas), alors vous aurez besoin d'un argument supplémentaire passé à votre mixin:
Oui, c'est ce que je recommanderais. Plusieurs petites mixin qui peut être utilisé ou non utilisé) ensemble, c'est mieux qu'une grande mixin qui a une longue chaîne d'arguments.
La seule autre solution serait l'utilisation cohérente des noms de classe, mais j'ai une particularité de mon système afin que les utilisateurs peuvent avoir arbitraire/sémantique des noms de classe. Est-il un moyen de parvenir à une solution dynamique pour cela, utilisez une autre langue et/ou de l'utilisation d'une base de données?
Je ne comprends pas pourquoi c'est un problème ou pourquoi vous voulez obtenir des bases de données impliquées dans ce (que vous pensez que cela va vous donner?). Le code modulaire est la meilleure façon de donner à vos utilisateurs la flexibilité qu'ils recherchent, en particulier si elles sont le genre de l'utilisateur qui veut l'intégrer de façon transparente avec leur propre style de codage.
Bien pour mon système de grille à travailler comme souhaité, il est essentiel de l' :dernier enfant de flotteurs en droit (en raison de sous-pixels des problèmes de rendu). Je peux donner à l'utilisateur le choix de douloureusement devoir n'oubliez pas de joindre une coutume mixin pour faire flotter le dernier enfant eux-mêmes (pas de difficultés pour la plupart des gens mais toujours gênant) ou j'ai ajouter le mixin à chaque élément par défaut et de les traiter avec code à répétition.
OriginalL'auteur cimmanon