cssクラスのエイリアスを作成できますか?cssまたはsassのエイリアスクラス名
私はこのフォントを使用しています。素晴らしいです。いくつかのアイコンクラスのエイリアス名を作成しようとしています。 .icon-globeは.globeとも呼ばれます。
どうすればこのようなことができますか?
cssクラスのエイリアスを作成できますか?cssまたはsassのエイリアスクラス名
私はこのフォントを使用しています。素晴らしいです。いくつかのアイコンクラスのエイリアス名を作成しようとしています。 .icon-globeは.globeとも呼ばれます。
どうすればこのようなことができますか?
どちらもSASSでもCSS3/4もサポートしていません。 font awesomeを使用する場合は、正確なクラス名を使用する必要があります。
あなたはプレーンなCSSのカンマで区切られたセレクタを使用して、いくつかのクラスに同じスタイルを適用することができます。
.icon-globe, .globe {
//styles
}
は<i class="icon-globe">
と<i class="globe">
に同じスタイルを適用します。
私が考えることができる最も簡単な方法は、javascript/jqueryを使用することです。
のjQuery:
$(document).ready(function() {
$('.globe').addClass('icon-globe');
});
私の答えを下落させた人には、コードが不十分だと感じたらコメントを残すか、私の答えを編集してください。私はあなたのリクエストを見てうれしく思います:) – OneChillDude
古い質問...しかし、呼び出し元がこれを要求していないことを示します。彼らが知りたいのは、.icon-globeの代わりに.globeを使う方法です。 – Scalable
これはSASSに関する質問です。あなたはJavaScript/jQueryの回答を提案しています。 –
エイリアシングのようなものはありません。 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"; }
あなたは.globe
は.icon-globe
を延長作ったとしても、あなたはので、彼らはセレクタを建てたかのFontAwesomeスタイルを作るもののほとんどを逃すことになります。他のセレクタも拡張する必要があります。
.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ファイルを取得できます。あなたはできますそれを行うが、私は結果が非常に良いとは思わない。
ねえ、それは素晴らしいです。 – markus
あなたは、私がこの私を知っているあなたは別名http://the-echoplex.net/csscrush/#core--selector-aliases
使用
@selector globe :any(.icon-globe, .globe);
:globe {
color: red;
}
出力
.icon-globe, .globe {
color: red;
}
を作成することを可能にするCSS Crushに興味がある可能性があり古い質問ですが、スレッドが不完全に見えるので、私はこれに答えています...あなたは簡単に、出力CSSが
.globe,.icon-globe{ /* CSS Properties */ }
フォント-恐ろしいの新しいクラス名を考慮すると、のようになります。
icon-globe
クラス.globe{ @extend .icon-globe !optional; }
を拡張することにより、
SASS
であなたをこれを行うことができます
.fa-globe
を複数のクラスを拡張して使用する必要があります
.globe{
@extend .fa, .fa-globe !optional;
}
.fa,.globe{
/* ... */
}
.globe,.fa-globe{
/* CSS Properties */
}
が正しい答えを受け入れることを忘れないでください、と出力CSSは次のようになります! – OneChillDude