首頁 web前端 css教學 ATOZ CSS屏幕截圖:Unicode範圍和 @font-face

ATOZ CSS屏幕截圖:Unicode範圍和 @font-face

Feb 20, 2025 am 10:12 AM

AtoZ CSS Screencast: Unicode Range and @font-face

要點總結

  • CSS 的 @font-face 規則允許在網頁設計中使用自定義字體,從而提升性能並改善排版效果。務必在不同的操作系統和瀏覽器上測試這些自定義字體,以確保其正確顯示。
  • CSS 的 unicode-range 屬性可用於限制自定義字體應用的字符範圍。這對於直接在標記中添加特殊字符或符號,或對特定字符使用特殊字體特別有用。
  • 通過使用 unicode-range 屬性,您可以通過確保僅下載和使用必要的字符來提高網頁性能,從而減少需要加載的數據量。但是,需要注意的是,並非所有瀏覽器都支持此屬性,因此應在 CSS 代碼中提供備用字體。

視頻講解(文字稿節選)

上一節我們學習了各種文本樣式屬性。

在現代瀏覽器(以及 IE4 及更高版本)中,我們可以添加自定義字體來增強網站的設計。

我們可以利用這些自定義字體的各種功能來幫助提升性能並整體改善排版效果。

本節我們將學習:

  • @font-face 規則詳解
  • 如何使用字體堆棧和 unicode-range 控制排版

@font-face

過去,網頁上的字體選擇僅限於少量“網絡安全”字體,例如:

  • Arial
  • Comic Sans
  • Courier New
  • Georgia
  • Impact
  • Palatino
  • Tahoma
  • Times New Roman
  • Trebuchet
  • Verdana

其中一些字體非常優秀,非常適合網頁使用——Georgia 作為襯線字體,Arial 或 Verdana 都是很棒的字體。 Comic Sans 當然不是最好的……

但現在,我們可以使用各種自定義字體,並通過使用 @font-face 使其在所有瀏覽器上顯示。

雖然我們可以這樣做,但始終值得在一系列操作系統和瀏覽器上測試任何自定義字體,以確保它們看起來符合預期。

還要記住,字體文件的大小可能相當大,因此請明智地使用它們以避免性能問題。

@font-face 的語法如下所示:

@font-face {
  font-family: 'Baskerville';
  src: url('baskerville.eot?#iefix') format('embedded-opentype'); 
  url('baskerville.woff') format('woff'); 
  url('baskerville.ttf') format('truetype');
  url('baskerville.svg#Baskerville') format('svg');
}
登入後複製
登入後複製

字體使用 font-family 屬性命名,然後為不同的瀏覽器提供一系列不同的文件類型和格式。

為了避免用戶下載系統中已有的字體,可以指定要搜索的字體的本地名稱 local()

為了為不同的瀏覽器創建所有正確的字體格式,我使用了一個名為 Font Squirrel 的很棒的在線資源。

他們有一個網絡字體生成器,它運行得非常好。他們提供的下載還包含在 CSS 中添加這些自定義字體的所有代碼片段,這也很方便!

unicode-range

字體的每個字符都可以用其 Unicode 數字來描述,其形式為:

@font-face {
  font-family: 'Baskerville';
  src: url('baskerville.eot?#iefix') format('embedded-opentype'); 
  url('baskerville.woff') format('woff'); 
  url('baskerville.ttf') format('truetype');
  url('baskerville.svg#Baskerville') format('svg');
}
登入後複製
登入後複製

字符串“AtoZ CSS”可以用 Unicode 表示如下:

<code>U+0041</code>
登入後複製

包括空格在內的每個字符都有唯一的 Unicode 數字。 UTF-8 字符集中還包含一系列特殊的字符,這對於直接在標記中添加形狀和符號非常有用。

在使用 @font-face 添加自定義字體時,我們可以限制它們應用的字符範圍,這乍一看有點奇怪,但請耐心聽我解釋。

Baskerville 字體的斜體&符號非常漂亮,許多設計師即使不使用 Baskerville 字體的其餘部分,也喜歡使用它。

只對&符號使用這種特殊字體的一種方法是將其包裝在 <span> 標籤中,並為其設置不同的 font-family。但這有點麻煩,並且完全可以在沒有任何額外標記的情況下完成。

我們可以創建一個只包含此字符的字體,並將其作為列表中的第一個字體添加到我們的字體堆棧中。

當瀏覽器遇到字體中不存在的字符時,它將向下掃描堆棧,直到找到包含所需字符的字體為止。我們可以利用這種行為在使用任何自定義或網絡安全字體時添加特殊的&符號。

首先,我們創建 @font-face 規則來加載單個字符字體。我將為其命名為“Ampersand”,並使用本地字體文件源以節省帶寬。

我將 unicode-range 指定為 U 0026,用於單個&符號字符。可以指定整個字符範圍,正如屬性名稱所示,但在這種情況下只需要一個字符。

<code>A      t      o      Z      space  C      S      S
U+0041 U+0074 U+006F U+005A U+0020 U+0043 U+0053 U+0053</code>
登入後複製

在這個示例 HTML 文件中,我有一系列標題和段落,兩者都包含幾個&符號。

我將創建兩個不同的字體堆棧,一個用於標題,一個用於正文。在每種情況下,堆棧中的第一個字體都將是自定義的“Ampersand”字體。

對於標題,我將添加 Museo 或 Rockwell 或襯線字體作為備用字體。

對於正文,我將添加 Avenir、Arial 或 sans-serif 作為備用字體。

@font-face {
  font-family: 'Ampersand';
  src: local('Baskerville-italic');
  unicode-range: U+0026;
}
登入後複製

就是這樣。當瀏覽器呈現文本時,堆棧中的第一個字體僅包含一個&符號字符,因此它將使用列表中的下一個字體(如果找到)來呈現其餘字符。

unicode-range 的瀏覽器支持良好。它在所有現代瀏覽器(Firefox 除外)以及 IE9 及更高版本中受支持。由於這純粹是視覺增強,因此瀏覽器支持對我來說不是什麼大問題——不支持的瀏覽器只會獲得可以成功加載的堆棧中的第一個字體。

(後續的FAQ部分已省略,因為與偽原創目標不符,且篇幅過長。核心內容已在以上部分體現。)

以上是ATOZ CSS屏幕截圖:Unicode範圍和 @font-face的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

如何通過CSS選擇第一個類名為item的子元素? 如何通過CSS選擇第一個類名為item的子元素? Apr 05, 2025 pm 11:24 PM

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? 在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? Apr 05, 2025 pm 10:21 PM

在前端開發中如何實現類似Windows...

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

See all articles