css图片替换

2017-11-20  本文已影响0人  飞飞廉

图片替换主要是将文字替换成图片的技术,即在html中使用文字,浏览器显示的时候用对应的图片显示,意义在于便于做网站优化(SEO),文字才是搜索引擎寻找的主要对象

1、Fahrner图片替换法(FIR)

首先添加一个span标签,在span里写文字描述,然后用display:none隐藏起来,在span的上级标签中添加背景图片。
优点:使用css而不是标记语法提供图片,更改图片只需要更改css
缺点:1)需要一组不具备任何语义的span标签2)display属性影响屏幕阅读器使用者3)关闭浏览器显示图片,同时启用css支持时,文字图片均不可显示。

<h1><span>Image Replacement</span></h1>
 
h1{ background:url(hello_world.gif) no-repeat; width: 150px; height: 35px; }
span { display: none; }

2、text-dent属性,给其设置一个较大的赋值,达到隐藏文本的效果

<h1 class="technique-three">w3cplus</h1>
 
.technique-three {
  width: 329px;
  height: 79px;
  background: url(images/w3cplus-logo.png);
  text-indent: -9999px;
}

3、使用零高度来隐藏文本,但为了显示背景图片,需要设置一个与替换图片一样的大小的padding值

<h1 class="technique-six">w3cplus</h1>
 
.technique-six {
  width: 329px;
  padding: 79px 0 0 0;
  height: 0px;
  font-size: 0;
  background: url(images/w3cplus-logo.png);
  overflow: hidden;
}

4、通过把span的大小都设置为“0”,来达到隐藏文本效果,这样阅读器就能完全阅读到,而且又达到了图片替换文本的效果

<h1 class="technique-seven">
    <span>w3cplus</span>
</h1>
 
.technique-seven {
  width: 329px;
  height: 79px;
  background: url(images/w3cplus-logo.png);
}
.technique-seven span {
  display: block;
  width: 0;
  height: 0;
  font-size: 0;
  overflow: hidden;
}  

5、利用一个空白的span标签来放置背景图片,并对其进行绝对定位,使用覆盖文本,达到隐藏替换文本的效果

<h1 class="technique-eight">
  <span></span>w3cplus
</h1>
 
.technique-eight {
  width: 329px;
  height: 79px;
  position: relative;
}
.technique-eight span {
  background: url(images/w3cplus-logo.png);
  position: absolute;
  width: 100%;
  height: 100%;
}

6、设置字体为微小值,但这里需要注意一点不能忘了设置字体色和替换图片色一样,不然会有一个小点显示出来

<h1 class="technique-nine">w3cplus</h1>
 
.technique-nine {
  width: 329px;
  height: 79px;
  background: url(images/w3cplus-logo.png);
  font-size: 1px;
  color: white;
}

7、使用css的clip属性来实现图片替换文本的效果

<h1 class="technique-ten"><span>w3cplus</span></h1>
 
.technique-ten {
  width: 329px;
  height: 79px;
  background: url(images/w3cplus-logo.png);
}
             
.technique-ten span {
  border: 0 !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px,1px,1px,1px);
  height: 1px !important;
  margin: -1px;
  overflow: hidden;
  padding: 0 !important;
  position: absolute !important;
  width: 1px;
}

参考博客

上一篇下一篇

猜你喜欢

热点阅读