2017-04-22 6 views
2

私は(03日02泊パッケージ、$ 120から始まる)のようなテキストを持っています。とにかく私はcssだけを使って数字のスタイルを変えることができますか?私は余分なHTMLタグを追加するかjqueryを使ってこれを行うことができます。今これを探していますが、何も見つかりません。どんな助けもありがとう。CSSでテキストの数字のスタイルを変更

+6

いいえ、それは – LGSon

答えて

1

テキストに表示されている数字に類似の色を追加する場合は、このコードを試してください。

<style> 
 
p span{ 
 
    color:red; 
 
} 
 

 
</style> 
 

 
<p><span>03</span> Days <span>02</span> Night Package, Starts from <span>$120</span></p>

しかし、あなたは別の色を追加したい場合、あなたはあなたのファイルで、このCSSとHTMLを追加することができます。

<style> 
 
    p span:nth-child(1){ 
 
     color:red; 
 
    } 
 
    p span:nth-child(2){ 
 
     color:green; 
 
    } 
 
    p span:nth-child(3){ 
 
     color:purple; 
 
    } 
 
    
 

 
    </style> 
 

 
    <p><span>03</span> Days <span>02</span> Night Package, Starts from <span>$120</span></p>

私はそれがあなたのために役立つことを願っています。

+0

ありがとうroopaことはできませんが、私は余分なhtmlタグを追加する必要はありません。 @LGSonは既に言ったCSSを使用して数字だけをターゲットにしています。 – Amir

+0

実際には、単一のテキスト段落または任意のテキストの集まりで、ペリトラの文字または数字のみをトラッキングすることはできません。 –

3

純粋なCSSを使用して、テキスト内の数字のみをターゲットにすることはできません。

唯一できることは、数字のchange the font familyです。

これは、unicode-range  (specMDN)の指令を使用します。 Googleフォントのフォントを使用する場合はcan be used as followsです。ここで数字とドル記号を選択しましたが、textパラメータで任意の文字範囲を選択できます。

@import url('https://fonts.googleapis.com/css?family=Raleway&text=$'); 
 
@import url('https://fonts.googleapis.com/css?family=Ranga'); 
 

 
p { 
 
    font-family: 'Raleway', 'Ranga', sans-serif; 
 
}
<p>03 Days 02 Night Package, Starts from $120</p>


あなただけの答えに余分なHTMLタグとjQueryを言及しているので、私はバニラJavaScriptでそれを行う方法をお見せするために役立つかもしれないと思いました。

let elementToFindDigitsIn = document.querySelector('p'); 
 
elementToFindDigitsIn.innerHTML = 
 
    elementToFindDigitsIn 
 
     .textContent 
 
     .replace(/(\$?\d+)/g, '<span>$1</span>');
span { 
 
    color: blue; 
 
}
<p>03 Days 02 Night Package, Starts from $120</p>

コメントに@LGSonで述べたように確かに、非常に簡単に別の番号に、このように異なるクラスを与えることも可能です。

let elementToFindDigitsIn = document.querySelector('p'), 
 
    count = 0; 
 
elementToFindDigitsIn.innerHTML = 
 
    elementToFindDigitsIn 
 
     .textContent 
 
     .replace(/(\$?\d+)/g, (s) => { 
 
     let c = `num-${++count}`; 
 
     if (s[0] === '$') { 
 
      c += ' money'; 
 
     } 
 
     return `<span class="${c}">${s}</span>`; 
 
     });
span { 
 
    color: blue; 
 
} 
 

 
span.money { 
 
    color: red; 
 
} 
 

 
span.num-2 { 
 
    color: purple; 
 
}
<p>03 Days 02 Night Package, Starts from $120</p>

+0

ニースでシンプルなプラス1(スクリプトが欲しくない場合でも)、その正規表現のカウンターを通過すると、クラスを設定して1つずつ色付けできます。 "" + x + "" ... ... https://jsfiddle.net/n37rr4fx/ – LGSon

+0

ありがとう@LGSon、私は私の答えを更新しました! –

+0

フォントのインポートの範囲について知りませんでした.. Nice! – vals

関連する問題