用 CSS 實現圖片替換文字

來源:互聯網
上載者:User
文章目錄
  • Fahrner Image Replacement (FIR)
  • Phark 的方法
  • Gilder/Levin 的方法
摘要: 不論是對瀏覽者還是對搜尋引擎,文字都是最佳的頁面內容展示方式,但是,由於字型等原因的限制,純文字的展示漸漸無法滿足愛美的設計師的要求。

於是,出現了通過 CSS 來實現用圖片替換文字的方法,這種方式既能實現頁面上各種豐富的效果,又能滿足搜尋引擎最佳化的需要。因此,深受網頁設計師的喜愛。

不論是對瀏覽者還是對搜尋引擎,文字都是最佳的頁面內容展示方式,但是,由於字型等原因的限制,純文字的展示漸漸無法滿足愛美的設計師的要求。

於是,出現了通過 CSS 來實現用圖片替換文字的方法,這種方式既能實現頁面上各種豐富的效果,又能滿足搜尋引擎最佳化的需要。因此,深受網頁設計師的喜愛,本文介紹了幾種常見的圖文替換技術。

  • Fahrner Image Replacement (FIR)
  • Phark 的方法
  • Gilder/Levin 的方法 (推薦)
Fahrner Image Replacement (FIR)

這是最早出現的圖文替換技術,是由 Todd Fahrner 提出的,非常容易理解:

HTML 代碼:
HTML:   

 
  1. <h2>
  2. <span>Hello World</span>
  3. </h2>
  4.  

CSS 代碼
CSS:

 
  1.  
  2. <style type="text/css">
  3. h2 {
  4. background:url(hello_world.gif) no-repeat;
  5. width: 150px;
  6. height: 35px;
  7. }
  8. span {
  9. display: none;
  10. }
  11. </style>
  12.  

代碼非常明白:先將圖片應用在 H2 的背景中,然後將 SPAN 的標籤隱藏。但是這種方式有個問題,就是當圖片無法顯示時,將導致這個地區沒有任何內容。同時,使用 display:none 的方式隱藏的內容,將被許多主流螢幕助讀程式忽略,從而造成可用性問題,因此,應該盡量避免使用。


Phark 的方法

這種技術是由 Mike Rundle 提出的,好處是不需要額外的標籤:

HTML 代碼:
HTML:

 
  1.  
  2. <h2>
  3. Hello World
  4. </h2>
  5.  

CSS 代碼
CSS:

 
  1.  
  2. <style type="text/css">
  3. h2 {
  4. text-indent: -5000px;
  5. background:url(hello_world.gif) no-repeat;
  6. width: 150px;
  7. height:35px;
  8. }
  9. </style>
  10.  

代碼也非常簡單,通過文本縮排,將文字隱藏,但是,當圖片無法顯示時,依然存在 FIR 的問題。

Gilder/Levin 的方法

這種技術是由 Tom Gilder 和 Levin Alexander 共同提出的,這也許是一個最完善的圖文替換技術了:
HTML 代碼:HTML:

 
  1.  
  2. <h2>
  3. <span></span>Hello World
  4. </h2>
  5.  

CSS 代碼
CSS:

 
  1.  
  2. <style type="text/css">
  3. h2 {
  4. width: 150px;
  5. height: 35px;
  6. position: relative;
  7. }
  8. h2 span {
  9. background: url(hello_world.gif) no-repeat;
  10. position: absolute;
  11. width: 100%;
  12. height: 100%;
  13. }
  14. </style>
  15.  

首先,將 H2 的 position 設為 relative ,這樣將使 H2 裡面的元素定位以 H2 為參照,然後將 SPAN 元素絕對位置,撐滿整個 H2 地區,同時將背景圖應用在 SPAN 標籤裡面;這種方法的原理是將 SPAN 標籤覆蓋在文字內容上面,一旦 SPAN 裡面的背景圖無法顯示,將顯示下層的文字內容,不影響正常使用。但是,此方法也有一個缺陷,就是背景圖不能透明,否則將透出下面的文字。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.