2016-05-28 2 views
0

私の目標は、コンテンツプロパティが将来変更される場合に、アイコンクラスから別のセレクタにcontent: '\e826';をインポートすることです。セレクタのコンテンツを別のセレクタのコンテンツにインポートすることは可能ですか?

.icon-hi:before {content: '\e826';} 

.panel { 
    background: white; 
    .panel-title { 
     &:before { 
      @include .icon-hi; 
      text-align: center; 
      width: 20px; 
      height: 20px; 
     } 
    } 
} 

もちろん、@importは機能しませんが、別の方法がありますか?一つの場所に値を定義する目的のために

答えて

1

、あなたは変数を使用する必要があります。

@icon-hi: '\e826'; 

.icon-hi:before {content: @icon-hi;} 

.panel { 
    background: white; 
    .panel-title { 
     &:before { 
      content: @icon-hi; 
      text-align: center; 
      width: 20px; 
      height: 20px; 
     } 
    } 
} 

あなたは実際には「別に1つのセレクタをインポートする」ことができます。これは基本的にmixinが何をするのかです。これらは、以下のドキュメントの最初の2つの機能です - 第三の選択肢が広がる機能を使用することですhttp://lesscss.org/features/

http://lesscss.org/features/#extend-feature

+0

ありがとうアリ、私のアイコンクラスを更新するのが難しくなりますが。私は現在、fontelloのアイコンをバンドルし、更新された '.icon-'クラスをすべてドロップします。私はクラスの内容を参照できることを期待していました。ヴァルスがなくても可能ではないように見える。 – BrandonReid

+1

私はいくつかのオプションで私の答えを更新しました。あなたはミックスインだけでなく、拡張する必要があります。 '.panel-title:extend(.icon-hi all)'のようなものを試してみてください。 –

+0

最も良い選択肢は、使用しているライブラリのソースが少ない場合は、自分自身でソースを組み込み、それらをまとめてコンパイルしてください。 –

1

することができます、ここでの例です:

.icon-hi{ 
    &:before{ 
    content: '\e826'; 
    } 
} 

.panel { 
    background: white; 
    .panel-title { 
    .icon-hi; 
      &:before { 
       text-align: center; 
       width: 20px; 
       height: 20px; 
      } 
     } 
    } 

あなたが定義する必要があります。 icon-hiクラスを定義し、beforeをネストして定義しておくと、プリプロセッサは何をフェッチするかを知ることができます。

関連する問題