LESS で構築されたフロントエンド フレームワークであるUiKitを確認していたところ、かなり興味深い機能であるフックに気付きました。基本フレームワークで次を見てください。
.uk-panel-badge {
position: absolute;
top: 0;
right: 0;
z-index: 1;
.hook-panel-badge;
}
.hook-panel-badge() {}
テーマでそれをオーバーライドしたい場合は、コア ファイル (後でコンパイルされるファイル) の外側でビルドしているとします。次のようにします。
.hook-panel-badge() {
right:auto;
}
したがって、本質的には、セレクターを追加せずにセレクターをオーバーライド/カスタマイズできるように見えるため、マークアップをできるだけ小さく保ちます。
このようなものはSASSで利用できますか? これは、私が主に SASS ユーザーとして使用したい素晴らしい機能のように見えます@extend
が、同じであることがわかりませんでした。ありがとう!
アップデート
このplaceholder
機能は、私が見つけた最も近いもののようです:
.panel {
background:red;
@extend %hook-panel;
}
%hook-panel {
color:blue;
}
次のようにレンダリングされます。
.panel {
background: red; }
.panel {
color: blue; }
後で定義することもできますが (これは素晴らしいことです)、それでもセレクターは複製されます。プレースホルダーが含まれている元のセレクターでプレースホルダーの値のみをレンダリングする方法はありますか?