CSS图片替换的最佳实践
我们在做网站的时候,有时候需要把网站的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的结构跟之前的有些不同,我们需要一个空的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,这样就算文字再大,也不会撑开:
相关推荐
章鱼之家 2020-10-29
liangwenrong 2020-07-31
IceStreamLab 2020-06-26
yanweiqi 2020-06-25
章鱼之家 2020-06-14
章鱼之家 2020-06-08
yanweiqi 2020-06-01
IceStreamLab 2020-05-31
athrenzala 2020-05-30
athrenzala 2020-05-28
chenluhan 2020-05-28
yanweiqi 2020-05-09
etedyh 2020-05-10
athrenzala 2020-04-17
huhu 2020-03-01
qiburen 2020-03-20
WEB程序员 2020-03-18
yanweiqi 2020-03-03
柳永法的个人 2020-03-03