Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
font-face是CSS3中的一個模塊,他主要是把自己定義的Web字體嵌入到你的網(wǎng)頁中,隨著@font-face模塊的出現(xiàn),我們在Web的開發(fā)中使用字體不怕只能使用Web安全字體,你們當(dāng)中或許有許多人會不自然的問,這樣的東西IE能支持嗎?當(dāng)我告訴大家@font-face這個功能早在IE4就支持了你肯定會感到驚訝。我的Blog就使用了許多這樣的自定義Web字體,比如說首頁的Logo,Tags以及頁面中的手寫英文體,很多朋友問我如何使用,能讓自己的頁面也支持這樣的自定義字體,一句話這些都是@font-face實(shí)現(xiàn)的,為了能讓更多的朋友知道如何使用他,今天我主要把自己的一點(diǎn)學(xué)習(xí)過程貼上來和大家分享。
首先我們一起來看看@font-face的語法規(guī)則:
@font-face { font-family: <YourWebFontName>; src: <source> [<format>][,<source> [<format>]]*; [font-weight: <weight>]; [font-style: <style>]; }
取值說明
兼容瀏覽器
說到瀏覽器對@font-face的兼容問題,這里涉及到一個字體format的問題,因?yàn)椴煌臑g覽器對字體格式支持是不一致的,這樣大家有必要了解一下,各種版本的瀏覽器支持什么樣的字體,前面也簡單帶到了有關(guān)字體的幾種格式,下面我就分別說一下這個問題,讓大家心里有一個概念:
一、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字體中最佳格式,他是一個開放的TrueType/OpenType的壓縮版本,同時也支持元數(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寫了一個獨(dú)特的@font-face語法叫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 */ }
說了這么多空洞的理論知識,大家一定有點(diǎn)心癢癢了,那么我們先來看看W3CPLUS首頁中導(dǎo)航部分的蘭色字體是如何實(shí)現(xiàn)的,假如我們有一個這樣的DOM標(biāo)簽,需要應(yīng)用自定義字體:
HTML Code:
<h2 class="neuesDemo">Neues Bauen Demo</h2>
通過@font-face來定義自己的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; }
我在這里采用的是相對路徑,當(dāng)然大家也可以使用絕路徑。到這里我們就需要把定義好的字體應(yīng)用到我們實(shí)際頁面中去:
h2.neuesDemo { font-family: 'NeuesBauenDemo' }
效果:
看到上面的效果,我想大家會感到@font-face很神奇,同時也想爭著做做看,可是一動手才發(fā)現(xiàn),特殊字體我要怎樣才能得到,那些.eot,.woff,.ttf,.svg這些字體格式又怎么獲取呢?有些朋友可能就不知道如何運(yùn)手了,那么我們就帶著這些問題來一個全程完成的實(shí)例吧:
一、獲取特殊字體:
我們拿下面這種single Malta字體來說吧:
要得到single Malta字體,不外乎兩種途徑,其一找到付費(fèi)網(wǎng)站購買字體,其二就是到免費(fèi)網(wǎng)站DownLoad字體。當(dāng)然要給錢的這種傻事我想大家都不會做的,那我們就得到免費(fèi)的地方下載,在哪有呢?我平時都是到Google Web Fonts和Dafont.com尋找自己需要的字體,當(dāng)然網(wǎng)上也還有別的下載字體的地方,這個Demo使用的是Dafont.com的Single Malta字體,這樣就可以到這里下載Single Malta:
Single Malta下載下來后,需要把它解壓縮出來:
二、獲取@font-face所需字體格式:
特殊字體已經(jīng)在你的電腦中了,現(xiàn)在我們需要想辦法獲得@font-face所需的.eot,.woff,.ttf,.svg字體格式。要獲取這些字體格式,我們同樣是需要第三方工具或者軟件來實(shí)現(xiàn),下面我給大家推薦一款我常用的一個工具fontsquirrel,別的先不多說,首跟我點(diǎn)這里進(jìn)入到下面這個界面吧。
如果你進(jìn)入頁面沒有看到上圖,你可以直接點(diǎn)擊導(dǎo)航:
如果你看到了上面的界面,那就好辦了,我們來看如何應(yīng)用這個工具生成@font-face需要的各種字體,先把我們剛才下載的字體上傳上去:
上傳后按下圖所示操作:
現(xiàn)在從Font Squirrel下載下來的文件已經(jīng)保存在你本地的電腦上了,接著只要對他進(jìn)行解壓縮,你就能看到文件列表如下所示:
大家可以看到,解壓縮出來的文件格式,里面除了@font-face所需要的字體格式外,還帶有一個DEMO文件,如果你不清楚的也可以參考下載下來的DEMO文件,我在這里不對DEMO說明問題,我主要是給大家介紹如何把下載下來的文件有價值的運(yùn)用到我們的項(xiàng)目中。
例如在自己的本地創(chuàng)建了一個fontface項(xiàng)目:
為了讓項(xiàng)目結(jié)構(gòu)更清晰,我們在項(xiàng)目中單獨(dú)創(chuàng)建一個fonts目錄,用來放置解壓縮出來@font-face所需的字體格式:
現(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)通過@font-face自定義好所需的SingleMalta字體,離最后效果只差一步了,就是把自己定義的字體應(yīng)用到你的Web中的DOM元素上:
h2.singleMalta { font-family: 'SingleMaltaRegular' }
效果:
看到上面的效果,那大家就知道我們實(shí)現(xiàn)成功了。那么關(guān)于@font-face幫你打造特殊效果的字體,到這里基本上就完成了,我在這里需要提醒使用者:
1、如果你的項(xiàng)目中是英文網(wǎng)站,而且項(xiàng)目中的Logo,Tags等應(yīng)用到較多的這種特殊字體效果,我建議你不要使用圖片效果,而使用@font-face,但是你是中文網(wǎng)站,我覺得還是使用圖片比較合適,因?yàn)榧虞d英文字體和圖片沒有多大區(qū)別,但是你加載中文字體,那就不一樣了,因?yàn)橹形淖煮w太大了,這樣會影響到項(xiàng)目的某些性能的優(yōu)化;
2、致命的錯誤,你在@font-face中定義時,文件路徑?jīng)]有載對;
3、你只定義了@font-face,但并沒有應(yīng)用到你的項(xiàng)目中的DOM元素上;
以上幾點(diǎn)都是在平時制作中常出現(xiàn)的問題,希望大家能小意一些,另外我們沒有辦法在購買所有字體,就算你實(shí)力雄厚,那也沒有辦法在一臺服務(wù)器主機(jī)上放置你所有項(xiàng)目需要的字體。因此我給大家提供幾個免費(fèi)字體下載的網(wǎng)址:Webfonts,Typekit,Kernest,Google Web Fonts,Kernest,Dafont,Niec Web Type,不然你點(diǎn)這里將有更多的免費(fèi)字體。前面幾個鏈接是幫助你獲取一些優(yōu)美的怪異的特殊字體,但下面這個工具作用更是無窮的大,他能幫你生成@font-face所需要的各種字體,這工具就是Font Squirrel。
最后在提醒一下,使用@font-face別的可以忘了,但Font Squirrel千萬不能忘,因?yàn)樗軒湍闵葽font-face所需的各種字體格式。
到此關(guān)于@font-face就介紹完了,不知道大家喜歡不喜歡,如果喜歡的話趕快動手實(shí)踐一下,有Blog的可以馬上運(yùn)用上去,也可以炫一下。
學(xué)習(xí)從來不是一個人的事情,要有個相互監(jiān)督的伙伴,想要學(xué)習(xí)或交流前端問題的小伙伴可以私信“學(xué)習(xí)”小明加群獲取2019web前端最新入門資料,一起學(xué)習(xí),一起成長!
三部分 附錄(因?yàn)闀簳r不支持插入超鏈接所以部分內(nèi)容無法顯示)
附錄一 DIV命名規(guī)范
附錄二 CSS精靈
a { display:block; width:200px; height:65px; line-height:65px; /*定義狀態(tài)*/ text-indent:-2015px; /*隱藏文字*/ background-image:url(button.png); /*定義背景圖片*/ background-position:0 0; /*定義鏈接的普通狀態(tài),此時圖像顯示的是頂上的部分*/ } a:hover { background-position:0 -66px; /*定義鏈接的滑過狀態(tài),此時顯示的為中間部分,向下取負(fù)值*/ } a:active { background-position:0 -132px; /*定 義鏈接的普通狀態(tài),此時顯示的是底部的部分,向下取負(fù)值*/ }
附錄三 一些tips解決方案
頁面優(yōu)化實(shí)踐
寫DIV+CSS 的一些常識
常用代碼片段
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td { margin:0; padding:0; } body { background:#fff; color:#555; font-size:14px; font-family: Verdana, Arial, Helvetica, sans-serif; } td, th, caption { font-size:14px; } h1, h2, h3, h4, h5, h6 { font-weight:normal; font-size:100%; } address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal; } a { color:#555; text-decoration:none; } a:hover { text-decoration:underline; } img { border:none; } ol,ul,li { list-style:none; } input, textarea, select, button { font:14px Verdana,Helvetica,Arial,sans-serif; } table { border-collapse:collapse; } html { overflow-y: scroll; } .clearfix:after { content: "."; display: block; height:0; clear:both; visibility: hidden; } .clearfix { *zoom:1; }
<meta name=”viewport” content=”width=320,target-densitydpi=dpi_value,initial-scale=1, user-scalable=no”/>
table-layout: fixed; word-break: break-all;;border-collapse: collapse
<div id=”abc” style=”display:table;text-align:center;width:100%;height:100%;”> <span style=”background:#f00; display:table-cell; vertical-align:middle;”> <input type=”button” value=”item1″ /> </span> </div>
filter:alpha(opacity=50); /*1-100*/ -moz-opacity:0.5; /*0-1.0*/ -khtml-opacity:0.5; /*0-1.0*/ opacity:0.5; /*0-1.0*/
white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
.fix{zoom:1;} .fix:after{ display:block; content:'clear'; clear:both; line-height:0; visibility:hidden; }
一些總結(jié)
一些概念
學(xué)習(xí)從來不是一個人的事情,要有個相互監(jiān)督的伙伴,想要學(xué)習(xí)或交流前端問題的小伙伴可以私信“學(xué)習(xí)”小明加群獲取2019web前端最新入門資料,一起學(xué)習(xí),一起成長!
于制作可變數(shù)據(jù)標(biāo)簽的朋友們來說,相信都聽說過中瑯條碼標(biāo)簽打印軟件這款軟件。今天小編就和大家分享一下中瑯條碼標(biāo)簽打印軟件中修改字體粗細(xì)的方法,有需要的小伙伴可以進(jìn)行參考哦。
一、字體加粗
1)以普通文本例子,想要將文字加粗,非常簡單的。在軟件中繪制好普通文本對象,并在“圖形屬性——數(shù)據(jù)源——數(shù)據(jù)對象”中添加好文字點(diǎn)擊確認(rèn),這個時候可以看到是正常的軟件文字的顯示效果。
2)普通文本字體“加粗”有二種方式,第一種方式選中文字,點(diǎn)擊軟件上方工具欄中“粗體”;第二種方式選中想要加粗的文字,然后在其圖形屬性“文字”樣式中選擇“粗體”并且還可以選擇字體的厚度。下圖是文字加粗前后對比效果。
知識補(bǔ)充:
在普通文本中還有一種將文字字體加粗的方式效果就是將一串文字中的其中某一個或者兩個等文字進(jìn)行字體加粗,其余字體粗細(xì)不變。這種操作也很簡單,通過文字——高級——“格式化高級設(shè)置”中添加應(yīng)用范圍,樣式選擇粗體,添加之后點(diǎn)擊確定就可以看到效果。
二、字體變細(xì)
以軟件中矢量文本為例子,將字體變細(xì)的話,同樣繪制兩個矢量文本對象,文字內(nèi)容都設(shè)置成一樣的,大小也設(shè)置成一樣的,都將文字設(shè)置樣式設(shè)置為粗體,但是可以通過調(diào)整粗細(xì)“厚度”去調(diào)整文字的粗細(xì),下面分別將文字的“厚度”設(shè)置為2和0.6,就可以清楚的看到文字的字體樣式變細(xì)了。
以上就是中瑯條碼標(biāo)簽打印軟件中修改字體粗細(xì)的方法了,希望可以幫助到有需要的小伙伴。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。