2012-09-12 27 views
1

我想添加一個「/」字符裝點的「H1」用下面的CSS:與CSS使用的Cufón通過生成的內容(:前/:後)

.h1:after { 
    content: "/"; 
    color: #FFC502; 
    font-family: 'Neo Sans Pro Medium',verdana,arial,sans-serif; 
    font-weight: bold; 
} 

我也使用的Cufón字體替換所有的「H1」使用下面的腳本:

$(document).ready(function() { 
    cufon(); 
}); 

function cufon() { 
    Cufon.replace('h1:not(.noCufon)'); 
    Cufon.replace('h2'); 
    Cufon.now(); 
} 

H1的正確通過的Cufón的新Sans字體更換,但所產生的內容是沒有的。無論我做什麼,最後的'/'都會在Verdana中渲染。有沒有辦法讓cufon識別並替換CSS生成的內容?

+0

嚴格地說,W3C標準要求':: after'和':: before'。但是,有一些不明確的地方,每個主流瀏覽器都支持':after'和':before' - 並且IE *不支持':: after'和':: before'。所以你不應該改變任何事情,但我認爲值得了解。 – KRyan

+2

@KRyan:該標準對於':: after'和':: before'不需要雙冒號,它只需要它們爲新的僞元素向前推薦並推薦它們用於現有的元素,同時仍允許單個冒號向後兼容。 IE從版本9開始支持':: after'和':: before',但是,如果一個人不關心IE8,應該*開始使用雙冒號。 – BoltClock

+0

教我將自己的知識基於博客文章,而不是檢查標準本身。 +1 – KRyan

回答

1

作爲一個JavaScript庫,Cufón不支持CSS生成的內容,因爲它無法通過DOM訪問。無法使其識別並對生成的內容執行字體替換。

+0

css可以使用'style'屬性插入到HTML中(我個人不喜歡這個,我寧願使用外部樣式表),但是你可以通過改變屬性來改變樣式 – Malachi

+0

我希望有一些技巧可以用來識別CSS生成的內容,但是由於我知道它沒有改變DOM,所以我沒有太大的希望......我會通過JavaScript通過適當的CSS選擇器注入'/'字符並更新問題與解決方法。謝謝! – Loudenvier

0

我討厭cufon很多開發人員都轉向使用google webfonts,因爲它更容易管理,並且不包含與cufon系統一樣多的bug。

http://www.google.com/webfonts

比如你剛纔包括像這樣

<link href='http://fonts.googleapis.com/css?family=Skranji' rel='stylesheet' type='text/css'> 

<style> 
body{ font-family: 'Skranji',verdana,arial,sans-serif } 

當然,你將不得不尋找您想要的字體的字體。

+1

我也不喜歡cufon。我不把它用於我自己的項目。但是當客戶需要時,我必須使用它。字體已經設置爲新手。我將通過JavaScript注入'/'字符。 – Loudenvier