2014-08-29 43 views
0

客戶不喜歡數字在我們網站上使用的當前字體的外觀,因此他們只想切換數字字體的字體。不是每個數字集都包含一個範圍,有沒有一些祕密的僞選擇器可以做到這一點?是這樣的:僅指定數字字符的字體?

:numeric {font-family: Helvetica, sans-serif;}

或者使用一些JS,如:

str = str.replace(/([1234567890]+)/g,'<span class="num">$1</span>');

但更高效,這將包裹一串數字,而不是*每個人多少?任何想法爲什麼這將是一個壞主意?謝謝!

來源: I got the javascript idea from this question

+2

快速的問題:你使用自定義字體,加載頁面?如果是這樣,直接修改字體可能對性能最好(不需要再解析數字)。我在[FontForge](http://fontforge.org/)上做過一次,需要一些時間才能理解,但在閱讀了一些教程後,我能夠做到。 – blex 2014-08-29 22:33:43

+0

@blex:好主意。不幸的是,我們從typography.com加載它,所以我們沒有修改它的選項,但這是要記住的。 – 2014-08-29 23:36:17

回答

0

這裏是爲了這個工作,你需要做一個CSS破解一個的jsfiddle http://jsfiddle.net/c11utd0w/

每個新的< li>元素是一個新問題,因此我們應該在哪裏應用編號。它是如此簡單:

.list { 
counter-reset: name-counter; 

list-style: none; 
margin:0; 
padding:0; 
} 

.list li:before { 
content: counter(name-counter); 
counter-increment: name-counter; 
font-size:20px; 
color:#ff0000; 
margin-right:20px; 
} 

你得類似這樣的標記:

<ol class="list"> 

<li>Aenean mauris risus?</li> 
<li>Suspendisse id ligula</li> 

<li>Cras sed dolor sit</li> 
<li>Ut suscipit</li> 

<li>Donec mattis</li> 
<li>Cras ultricies</li> 

</ol> 

它的罰款,在所有主要的瀏覽器IE7除外(和之前)。 IE7不支持:before /之後的僞元素。

但IE7在全球範圍內低於5%!!!!