CSS圖片替換的最佳實踐
我們在做網(wǎng)站的時候,有時候需要把網(wǎng)站的Logo用圖片代替,這樣的方法有很多,但是那一種是***的呢?
使用圖片
最簡單的最容易想到的辦法自然就是使用圖片了。然后給圖片添加一個alt值,對搜索引擎友好一些。
- <h1><img src="image.gif" alt="Image Replacement"></h1>
這樣做的缺點就是對搜索引擎不友好,搜索引擎對于圖片alt屬性的權重肯定是低于H1的,就算你的圖片是放在H1標簽里面。
移開文字
這也是比較常見的一種辦法,就是使用display:none來隱藏文字,讓用戶不可見。
給文字加一個span標簽,就可以分別控制了。
- <h1><span>Image Replacement</span></h1>
CSS部分:
- h1 {
- background-image: url(image.gif);
- background-repeat: no-repeat;
- width: 256px;
- height: 41px;
- }
- h1 span {
- position: absolute;
- left: -999em;
- }
這樣做的好處在于使用CSS讓文字對于用戶不可見,但是搜索引擎還是能看到的。
之前很多都是使用這樣的方法,但是這樣做有個不好的地方在于,如果用戶在瀏覽的時候關閉了圖片顯示,那么Logo部分就是空的了,這樣體驗很不好。
解決辦法
最終的解決辦法比較復雜一些,但是最終兼顧了所有方面,包括用戶體驗和搜索引擎。
HTML的結(jié)構(gòu)跟之前的有些不同,我們需要一個空的span標簽。
- <h1><span></span>Image Replacement</h1>
然后跟之前一樣,設置寬高、背景圖片、font-size:
- h1, h1 span {
- width: 256px;
- height: 41px;
- background-image: url(image.gif);
- font-size: 100%;
- }
然后我們通過一些技巧來隱藏文在在圖片之下,這樣用戶關閉圖片的時候也能看到文字。
- h1 span {
- display: block;
- position: relative;
- z-index: 1;
- margin-bottom: -41px;
- }
通過定義z-index就把圖片顯示在文字之上了。我們還需要更改display:block這樣寬高才能應用在span之上,還需要添加margin-bottom讓文字不會顯示在圖片下面。
***設置overfolw,這樣就算文字再大,也不會撐開:
- h1{overflow:hidden}
原文鏈接:http://rockux.com/archives/css%E5%9B%BE%E7%89%87%E6%9B%BF%E6%8D%A2
【編輯推薦】