如何将css仅应用于文本内部的数字/或任何 元素?

我在我的网站中使用区域语言unicode font-face,但数字看起来并不好。

所以我想将新的font-style或css应用于数字..

请帮忙

这可以使用CSS的unicode-range属性来完成,该属性存在于@font-face

数字0到9存在于U+0030U+0039范围内的Unicode中。 因此,您需要做的是在现有字体旁边添加字体,该字体专门针对此范围:

 @font-face { font-family: 'My Pre-Existing Font'; ... } @font-face { font-family: 'My New Font Which Handles Numbers Correctly'; ... unicode-range: U+30-39; } 

其结果是,Unicode字符U+0030 (0)到U+0039 (9)的每个实例都将以专门针对该范围的字体显示,而其他每个字符都将以您当前的字体显示。

没有办法专门为所有数字应用CSS。 在每个数字标签中,您可以添加属性class='number' ,然后在您可以添加的CSS中添加

 .number { font-family: arial; } 

您可以使用 p标签中的所有数字换行:

CSS

 .number { font-family: Verdana; } 

jQuery的

 $('p').html(function(i, v){ return v.replace(/(\d)/g, '$1'); }); 

但就个人而言,我会选择詹姆斯的建议;)

http://jsfiddle.net/ZzBN9/

这更好

 $('p').html(function(i, v){ return v.replace(/(\d+)/g, '$1'); }); 

使用+你可以避免每个完整数字的一个跨度(跨度为321),而不是每个找到的数字一个(跨度为3表示2和1)