日韩伦理亚洲欧美在线一区_免费看一级大片_在线观看视频一区二区_日韩大片高清播放器大全






    原文出處:W3CPLUS

    @font-faceCSS3中的一個(gè)模塊,他主要是把自己定義的Web字體嵌入到你的網(wǎng)頁(yè)中,隨著@font-face模塊的出現(xiàn),我們?cè)赪eb的開發(fā)中使用字體不怕只能使用Web安全字體,你們當(dāng)中或許有許多人會(huì)不自然的問(wèn),這樣的東西IE能支持嗎?當(dāng)我告訴大家@font-face這個(gè)功能早在IE4就支持了你肯定會(huì)感到驚訝。我的Blog就使用了許多這樣的自定義Web字體,比如說(shuō)首頁(yè)的Logo,Tags以及頁(yè)面中的手寫英文體,很多朋友問(wèn)我如何使用,能讓自己的頁(yè)面也支持這樣的自定義字體,一句話這些都是@font-face實(shí)現(xiàn)的,為了能讓更多的朋友知道如何使用他,今天我主要把自己的一點(diǎn)學(xué)習(xí)過(guò)程貼上來(lái)和大家分享。

    首先我們一起來(lái)看看@font-face的語(yǔ)法規(guī)則:

       @font-face {
          font-family: <YourWebFontName>;
          src: <source> [<format>][,<source> [<format>]]*;
          [font-weight: <weight>];
          [font-style: <style>];
        }
    

    取值說(shuō)明

    1、YourWebFontName:此值指的就是你自定義的字體名稱,最好是使用你下載的默認(rèn)字體,他將被引用到你的Web元素中的font-family。如“font-family:”YourWebFontName”;”

    2、source:此值指的是你自定義的字體的存放路徑,可以是相對(duì)路徑也可以是絕路徑;

    3、format:此值指的是你自定義的字體的格式,主要用來(lái)幫助瀏覽器識(shí)別,其值主要有以下幾種類型:truetype,opentype,truetype-aat,embedded-opentype,avg等;

    4、weight和style:這兩個(gè)值大家一定很熟悉,weight定義字體是否為粗體,style主要定義字體樣式,如斜體。

    兼容瀏覽器

    font-face-browers

    說(shuō)到瀏覽器對(duì)@font-face的兼容問(wèn)題,這里涉及到一個(gè)字體format的問(wèn)題,因?yàn)椴煌臑g覽器對(duì)字體格式支持是不一致的,這樣大家有必要 了解一下,各種版本的瀏覽器支持什么樣的字體,前面也簡(jiǎn)單帶到了有關(guān)字體的幾種格式,下面我就分別說(shuō)一下這個(gè)問(wèn)題,讓大家心里有一個(gè)概念:

    一、TureTpe(.ttf)格式:

    .ttf字體是Windows和Mac的最常見的字體,是一種RAW格式,因此他不為網(wǎng)站優(yōu)化,支持這種字體的瀏覽器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS Mobile Safari4.2+】;

    二、OpenType(.otf)格式:

    .otf字體被認(rèn)為是一種原始的字體格式,其內(nèi)置在TureType的基礎(chǔ)上,所以也提供了更多的功能,支持這種字體的瀏覽器有 【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】;

    三、Web Open Font Format(.woff)格式:

    .woff字體是Web字體中最佳格式,他是一個(gè)開放的TrueType/OpenType的壓縮版本,同時(shí)也支持元數(shù)據(jù)包的分離,支持這種字體的瀏覽器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】;

    四、Embedded Open Type(.eot)格式:

    .eot字體是IE專用字體,可以從TrueType創(chuàng)建此格式字體,支持這種字體的瀏覽器有【IE4+】;

    五、SVG(.svg)格式:

    .svg字體是基于SVG字體渲染的一種格式,支持這種字體的瀏覽器有【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】。

    這就意味著在@font-face中我們至少需要.woff,.eot兩種格式字體,甚至還需要.svg等字體達(dá)到更多種瀏覽版本的支持。

    為了使@font-face達(dá)到更多的瀏覽器支持,Paul Irish寫了一個(gè)獨(dú)特的@font-face語(yǔ)法叫Bulletproof @font-face:

       @font-face {
    	font-family: 'YourWebFontName';
    	src: url('YourWebFontName.eot?') format('eot');/*IE*/
    	src:url('YourWebFontName.woff') format('woff'), url('YourWebFontName.ttf') format('truetype');/*non-IE*/
       }
    

    但為了讓各多的瀏覽器支持,你也可以寫成:

       @font-face {
    	font-family: 'YourWebFontName';
    	src: url('YourWebFontName.eot'); /* IE9 Compat Modes */
    	src: url('YourWebFontName.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
                 url('YourWebFontName.woff') format('woff'), /* Modern Browsers */
                 url('YourWebFontName.ttf')  format('truetype'), /* Safari, Android, iOS */
                 url('YourWebFontName.svg#YourWebFontName') format('svg'); /* Legacy iOS */
       }
    

    說(shuō)了這么多空洞的理論知識(shí),大家一定有點(diǎn)心癢癢了,那么我們先來(lái)看看W3CPLUS首頁(yè)中導(dǎo)航部分的蘭色字體是如何實(shí)現(xiàn)的,假如我們有一個(gè)這樣的DOM標(biāo)簽,需要應(yīng)用自定義字體:

    HTML Code:

       <h2 class="neuesDemo">Neues Bauen Demo</h2>
    

    通過(guò)@font-face來(lái)定義自己的Web Font:

      @font-face {
        font-family: 'NeuesBauenDemo';
        src: url('../fonts/neues_bauen_demo-webfont.eot');
        src: url('../fonts/neues_bauen_demo-webfont.eot?#iefix') format('embedded-opentype'),
    	 url('../fonts/neues_bauen_demo-webfont.woff') format('woff'),
    	 url('../fonts/neues_bauen_demo-webfont.ttf') format('truetype'),
    	 url('../fonts/neues_bauen_demo-webfont.svg#NeuesBauenDemo') format('svg');
        font-weight: normal;
        font-style: normal;
      }
    

    我在這里采用的是相對(duì)路徑,當(dāng)然大家也可以使用絕路徑。到這里我們就需要把定義好的字體應(yīng)用到我們實(shí)際頁(yè)面中去:

       h2.neuesDemo {
          font-family: 'NeuesBauenDemo'
       }
    

    效果:

    neues-bauen-demo

    看到上面的效果,我想大家會(huì)感到@font-face很神奇,同時(shí)也想爭(zhēng)著做做看,可是一動(dòng)手才發(fā)現(xiàn),特殊字體我要怎樣才能得到,那 些.eot,.woff,.ttf,.svg這些字體格式又怎么獲取呢?有些朋友可能就不知道如何運(yùn)手了,那么我們就帶著這些問(wèn)題來(lái)一個(gè)全程完成的實(shí)例 吧:

    一、獲取特殊字體:

    我們拿下面這種single Malta字體來(lái)說(shuō)吧:

    font-face-single-malta-demo

    要得到single Malta字體,不外乎兩種途徑,其一找到付費(fèi)網(wǎng)站購(gòu)買字體,其二就是到免費(fèi)網(wǎng)站DownLoad字體。當(dāng)然要給錢的這種傻事我想大家都不會(huì)做的,那我們就得到免費(fèi)的地方下載,在哪有呢?我平時(shí)都是到Google Web FontsDafont.com尋找自己需要的字體,當(dāng)然網(wǎng)上也還有別的下載字體的地方,這個(gè)Demo使用的是Dafont.com的Single Malta字體,這樣就可以到這里下載Single Malta

    single-malta-font

    Single Malta下載下來(lái)后,需要把它解壓縮出來(lái):

    single-malta-font-out

    二、獲取@font-face所需字體格式:

    特殊字體已經(jīng)在你的電腦中了,現(xiàn)在我們需要想辦法獲得@font-face所需的.eot,.woff,.ttf,.svg字體格式。要獲取這些字體格式,我們同樣是需要第三方工具或者軟件來(lái)實(shí)現(xiàn),下面我給大家推薦一款我常用的一個(gè)工具fontsquirrel,別的先不多說(shuō),首跟我點(diǎn)這里進(jìn)入到下面這個(gè)界面吧。

    font-face-kit-generator

    如果你進(jìn)入頁(yè)面沒(méi)有看到上圖,你可以直接點(diǎn)擊導(dǎo)航:

    fontsquirrel-menu

    如果你看到了上面的界面,那就好辦了,我們來(lái)看如何應(yīng)用這個(gè)工具生成@font-face需要的各種字體,先把我們剛才下載的字體上傳上去:

    add-fonts

    上傳后按下圖所示操作:

    font-download

    現(xiàn)在從Font Squirrel下載下來(lái)的文件已經(jīng)保存在你本地的電腦上了,接著只要對(duì)他進(jìn)行解壓縮,你就能看到文件列表如下所示:

    font-format

    大家可以看到,解壓縮出來(lái)的文件格式,里面除了@font-face所需要的字體格式外,還帶有一個(gè)DEMO文件,如果你不清楚的也可以參考下載下來(lái)的DEMO文件,我在這里不對(duì)DEMO說(shuō)明問(wèn)題,我主要是給大家介紹如何把下載下來(lái)的文件有價(jià)值的運(yùn)用到我們的項(xiàng)目中。

    例如在自己的本地創(chuàng)建了一個(gè)fontface項(xiàng)目:

    font-face-project

    為了讓項(xiàng)目結(jié)構(gòu)更清晰,我們?cè)陧?xiàng)目中單獨(dú)創(chuàng)建一個(gè)fonts目錄,用來(lái)放置解壓縮出來(lái)@font-face所需的字體格式:

    font-face-project-demo

    現(xiàn)在@font-face所需字體已經(jīng)加載到本地項(xiàng)目,現(xiàn)在本地項(xiàng)目中的style.css中附上我們需要的@font-face樣式

       @font-face {
          font-family: 'SingleMaltaRegular';
          src: url('../fonts/singlemalta-webfont.eot');
          src: url('../fonts/singlemalta-webfont.eot?#iefix') format('embedded-opentype'),
               url('../fonts/singlemalta-webfont.woff') format('woff'),
    	   url('../fonts/singlemalta-webfont.ttf') format('truetype'),
    	   url('../fonts/singlemalta-webfont.svg#SingleMaltaRegular') format('svg');
          font-weight: normal;
          font-style: normal;
       }
    

    到這里為止,我們已經(jīng)通過(guò)@font-face自定義好所需的SingleMalta字體,離最后效果只差一步了,就是把自己定義的字體應(yīng)用到你的Web中的DOM元素上:

       h2.singleMalta {
         font-family: 'SingleMaltaRegular'
       }
    

    效果:

    single-malta-font-demo

    看到上面的效果,那大家就知道我們實(shí)現(xiàn)成功了。那么關(guān)于@font-face幫你打造特殊效果的字體,到這里基本上就完成了,我在這里需要提醒使用者:

    1、如果你的項(xiàng)目中是英文網(wǎng)站,而且項(xiàng)目中的Logo,Tags等應(yīng)用到較多的這種特殊字體效果,我建議你不要使用圖片效果,而使用@font- face,但是你是中文網(wǎng)站,我覺(jué)得還是使用圖片比較合適,因?yàn)榧虞d英文字體和圖片沒(méi)有多大區(qū)別,但是你加載中文字體,那就不一樣了,因?yàn)橹形淖煮w太大 了,這樣會(huì)影響到項(xiàng)目的某些性能的優(yōu)化;

    2、致命的錯(cuò)誤,你在@font-face中定義時(shí),文件路徑?jīng)]有載對(duì);

    3、你只定義了@font-face,但并沒(méi)有應(yīng)用到你的項(xiàng)目中的DOM元素上;

    以上幾點(diǎn)都是在平時(shí)制作中常出現(xiàn)的問(wèn)題,希望大家能小意一些,另外我們沒(méi)有辦法在購(gòu)買所有字體,就算你實(shí)力雄厚,那也沒(méi)有辦法在一臺(tái)服務(wù)器主機(jī)上放置你所有項(xiàng)目需要的字體。因此我給大家提供幾個(gè)免費(fèi)字體下載的網(wǎng)址:Webfonts,Typekit,Kernest,Google Web Fonts,Kernest,Dafont,Niec Web Type,不然你點(diǎn)這里將有更多的免費(fèi)字體。前面幾個(gè)鏈接是幫助你獲取一些優(yōu)美的怪異的特殊字體,但下面這個(gè)工具作用更是無(wú)窮的大,他能幫你生成@font-face所需要的各種字體,這工具就是Font Squirrel

    最后在提醒一下,使用@font-face別的可以忘了,但Font Squirrel千萬(wàn)不能忘,因?yàn)樗軒湍闵葽font-face所需的各種字體格式。

    到此關(guān)于@font-face就介紹完了,不知道大家喜歡不喜歡,如果喜歡的話趕快動(dòng)手實(shí)踐一下,有Blog的可以馬上運(yùn)用上去,也可以炫一下。

    2014年03月更新——@font-face無(wú)法在Firefox下正常工作的解決方案,詳細(xì)的請(qǐng)點(diǎn)擊:http://stackoverflow.com/questions/2856502/css-font-face-not-working-with-firefox-but-working-with-chrome-and-ie

    ? ? ? ? ? ? ? ? ? ? ? ?

    我們將在一個(gè)工作日內(nèi)聯(lián)系您

    ? ? ? ? ? ? ? ? ? ? ? ?

    免費(fèi)診斷您的獨(dú)立站及產(chǎn)品搜索量,制定您的海外營(yíng)銷計(jì)劃

    迁安市| 高台县| 木里| 屯门区| 满城县| 前郭尔| 桓仁| 若羌县| 绥芬河市| 红安县| 玉树县| 虞城县| 锡林郭勒盟| 万载县| 湘西| 韩城市| 徐闻县| 华亭县| 若羌县| 平山县| 集贤县| 盐城市| 久治县| 南汇区| 鄂托克旗| 金山区| 溧阳市| 莱州市| 正蓝旗| 张北县| 漳州市| 皮山县| 建宁县| 高平市| 万全县| 金川县| 宜昌市| 定日县| 洞口县| 洛隆县| 新安县|