Sass / SCSS Mixin pour Clearfix - meilleure approche?
Je veux enlever l' clearfix
classe à partir de mon code HTML et comprennent un clearfix mixin dans mon SCSS (application Rails 3.1). Quelle est la meilleure approche?
Je pense juste prendre le HTML 5 Standard clearfix et le transformer en un mixin, @y compris dans le CSS pour les éléments qui doivent clearfixing.
Copié à partir de HTML5 Boilerplate:
/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. http://j.mp/bestclearfix */
.clearfix:before, .clearfix:after { content: "/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. http://j.mp/bestclearfix */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin padding-bottom-of-page */
.clearfix { zoom: 1; }
20"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin padding-bottom-of-page */
.clearfix { zoom: 1; }
Est-il un inconvénient à cela? Est-il un meilleur moyen? Puis-je retirer en toute sécurité clearfix de mon balisage HTML de cette façon?
source d'informationauteur Richard Jordan
Vous devez vous connecter pour publier un commentaire.
Je devrais probablement avoir ajouté - c'est la solution que j'ai trouvé. Je suis encore assez nouveau dans tout cela, donc je ne sais pas si ce sera effectivement faire le même travail comme un élément de la classe à clearfix et en utilisant le HTML5 boilerplate code ci-dessus.
Edit:
Il est préférable d'utiliser
@extend
au lieu d'un mixin car cela permet de produire beaucoup moins de code CSS.Aussi, il est utile d'utiliser un silencieux classe (notée par
%
) lors de l'utilisation de@extend
. Cela empêche inattendu règles CSS et élimine la règle que vous êtes l'extension si c'est n'étant pas utilisé directement.Pour atteindre moins de code à l'aide de
@extend
définir clearfix comme espace réservé (ici juste pour les navigateurs modernes w/o IE 6+7):Sass code:
CSS sortie sera:
Pourquoi ne pas utiliser le Compas cadre? Il fournit déjà mixin pour clearfix parmi une foule d'autres mixin et des services publics. Il est toujours préférable de regarder pour les outils existants plutôt que d'avoir à maintenir un code supplémentaire de vous-même.