css クラスのエイリアスを作成できますか?
私はこの素晴らしいフォントを使用しており、いくつかのアイコン クラスのエイリアス名を作成しようとしています。そのため、.icon-globe
とも呼ばれ.globe
ます。
どうすればそのようなことを達成できますか?
css クラスのエイリアスを作成できますか?
私はこの素晴らしいフォントを使用しており、いくつかのアイコン クラスのエイリアス名を作成しようとしています。そのため、.icon-globe
とも呼ばれ.globe
ます。
どうすればそのようなことを達成できますか?
エイリアシングのようなものはありません。Sass には@extend
ディレクティブがありますが、ソースを調べるまで解決策は完全にはわかりません。
ソース: https://github.com/FortAwesome/Font-Awesome/blob/master/sass/font-awesome.scss
[class^="icon-"]:before,
[class*=" icon-"]:before {
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
display: inline-block;
text-decoration: inherit;
}
// snip
.icon-globe:before { content: "\f0ac"; }
extendsを作成したとしても、 .globe
FontAwesome.icon-globe
スタイルを構成する要素のほとんどは、セレクターの作成方法によって失われます。他のセレクターも拡張する必要があります。
これ:
.globe {
@extend .icon-globe;
@extend [class^="icon-"];
}
にコンパイルします
[class^="icon-"]:before, .globe:before,
[class*=" icon-"]:before {
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
display: inline-block;
text-decoration: inherit; }
.icon-globe:before, .globe:before {
content: "\f0ac"; }
icon-
プレフィックスは意図的なものであることに注意してください。FontAwesome に付属する約 200 個のクラスすべてにこれらのスタイルをすべてアタッチするのではなく、この方法でより小さな CSS ファイルを取得します。できますが、結果はあまり良くないと思います。
私が考えることができる最も簡単な方法は、javascript/jquery を使用することです。
jQuery:
$(document).ready(function() {
$('.globe').addClass('icon-globe');
});
プレーンな CSS カンマ区切りのセレクターを使用して、同じスタイルを複数のクラスに適用できます。
.icon-globe, .globe {
//styles
}
と に同じスタイルを適用し<i class="icon-globe">
ます<i class="globe">
。
エイリアスを作成できるCSS Crushに興味があるかもしれませんhttp://the-echoplex.net/csscrush/#core--selector-aliases
使用法
@selector globe :any( .icon-globe, .globe );
:globe {
color: red;
}
出力
.icon-globe, .globe {
color: red;
}