En utilisant CSS Modules, comment appliquer une classe d'utilitaires globale à plusieurs éléments sans dupliquer la déclaration de style?Classes d'utilitaires globales avec des modules PostCSS/CSS
Par exemple, voici un composant React sans modules CSS. La ligne concernée est le div
avec deux classes: widget
et clearfix
...
/* components/widget.jsx */
class Widget extends Component {
render() {
return (
<div className="widget clearfix">
<div className="widget-alpha">Alpha</div>
<div className="widget-beta">Beta</div>
</div>
);
}
}
.clearfix
est une classe mondiale de services publics que je veux appliquer à de nombreux éléments tout au long de mon application:
/* util/clearfix.scss */
.clearfix {
&:before, &:after { content: " "; display: table; }
&:after { clear: both; }
}
Je Nous avons vu diverses manières d'importer .clearfix
dans un module CSS, mais dans chaque cas, les déclarations de style sont redéfinies pour chaque occurrence où la classe est appliquée. Voici un exemple:
/* widget.scss */
.widget {
// other styles
composes: clearfix from '../util/clearfix.scss';
}