`
hongan
  • 浏览: 176973 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

CSS高级技巧之图片替换

阅读更多

转自:http://www.xker.com/page/e2008/0616/53745.html

 图像替换技术有相当的用处, 特别是注重视觉的设计, 而且在一定程度上也不会影响非可视化浏览器的用户群(屏幕阅读器).
经典FIR

  在文字外包上一组span标签, 并在CSS中将这个span进行display:none 操作, 使其隐藏, 然后在原文字的容器的CSS中加上background-image, 以达到图像替换.

  HTML代码如下:

  <h3 id="header">

   <span>Revised Image Replacement</span>

  </h3>

  CSS代码大致如下:

  #header {width: 329px;height: 25px;background-image: url(sample-opaque.gif);}

  #header span {display: none;}

  缺点:

  屏幕阅读器会略过定义 display:none 的容器, 会导致那部分用户无法得知当前的文字内容, 而且需要一个完全没有语义的span标签完成这个效果. 在关闭图像, 启用CSS的情况下, 用户得不到该有的内容.

单像素<img>替换

  与经典FIR类似, 用span将文字隐藏, 并且在span外, 原父容器中加上一个1像素透明图片, 并且将被隐藏的文字加到该图片的alt属性中, 利用在图片不可用的情况下, 使用alt中的文字替换图像的原理, 使用户在关闭图像, 启用CSS的情况下也能得到文字信息.

  HTML代码如下:

  <h3 id="header">

   <img src="shim.gif" alt="Revised Image Replacement" />

   <span>Revised Image Replacement</span>

  </h3>

  CSS代码大致如下:

  #header {width: 329px;height: 25px;background-image: url(sample-opaque.gif);}

  #header span {display: none;}

  缺点:

  无语义标签.

Radu 方法

  与Phark方法类似, 通过赋予文字一个外补丁来达到隐藏的效果. Radu只运行于IE5

  HTML代码如下:

  <h3 id="header">

   Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {background: url(sample-opaque.gif) no-repeat top right;width: 2329px;height: 25px;margin: 0 0 0 -2000px;}

  缺点:

  同样无法在关闭图像,开启CSS的情况下无法获取内容.

Langridge 方法

  利用 overflow:hidden 以及 padding 的特性,将文字达到隐藏的效果.

  HTML代码如下:

  <h3 id="header">

   Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {

   padding: 25px 0 0 0;

   overflow: hidden;

   background-image: url(sample-opaque.gif);

   background-repeat: no-repeat;

   height: 0px !important;

   height /**/:25px;

   }

  缺点:

  同样在关闭图像,开启CSS的情况下无法获取内容, 而且由于IE的Box原型问题, 需要用到Hack. 详见译文.

Phark 方法

  利用 text-indent 的特性来达到隐藏文字的效果.

  HTML代码如下:

  <h3 id="header">

   Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {

   text-indent: -100em;

   overflow: hidden;

   background: url(sample-opaque.gif);

   height: 25px;

   }

  缺点:

  同样不能显示在关闭图像,开启CSS的情况下, 而且无法在IE5中运行.

Phark 方法2

  修复了Phark 1中Safari显示滚动条的问题, 和IE5中无法运行的问题.

  HTML代码如下:

  <h3 id="header">

   Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {

   text-indent: -5000px;

   background: url(sample-opaque.gif);

   height: 25px;

   }

  缺点:

  同样不能显示在: 关闭图像,开启CSS的情况下.

Dwyer 方法

  经典FIR的一种变体, 利用overflow:hidden 的特性, 使得所有设备都能获取信息, 包括非可视化浏览器.

  HTML代码如下:

  <h3 id="header">

   <span>Revised Image Replacement</span>

  </h3>

  CSS代码大致如下:

  #header {width: 329px;height: 25px;background-image: url(sample-opaque.gif);}

  #header span {display: block;width: 0;height: 0;overflow: hidden;}

  缺点:

  同样的不能显示在: 关闭图像,开启CSS的情况下, 仍旧需要额外的无语义的span标签.

Gilder/Levin 方法

  解决了在关闭图像 开启CSS情况下的显示问题, 并且使得几乎所有的设备都可以获取到文本信息.

  HTML代码如下:

  <h3 id="header">

   <span></span>Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {width: 329px;height: 25px;position: relative;}

  #header span {background: url(sample-opaque.gif) no-repeat;position: absolute;width: 100%;height: 100%;}

  缺点:

  使用完全空白的非语义标签span, 替换用图片如果是透明背景的话, 文字没办法被隐藏.

Lindsay 方法

  Lindsay将文字设置为1px, 并将文字颜色设置成替换用图片背景的颜色.

  HTML代码如下:

  <h3 id="header">

   Revised Image Replacement

  </h3>

  CSS代码大致如下:

  #header {

   background: url(sample-opaque.gif) no-repeat;

   width: 329px;

   height: 25px;

   font-size: 1px;

   color: #xxxxxx;

   }

  缺点:

  只能用在纯色背景的替换用图片的情况下, 而且在关闭图像 开启CSS的情况下同样无法获取信息.

Shea 加强版

  Shea为容器加上了title属性, title中包含将被隐藏的文字, 通过这种方法来达到一种鼠标激活工具提示的一种效果来让用户获取信息.

  HTML代码如下:

  <h3 id="header" title="Revised Image Replacement">

   <span></span>Revised Image Replacement

  </h3>

  CSS代码如下:

  #header {width: 329px;height: 25px;position: relative;}

  #header span {background: url(sample-opaque.gif) no-repeat;position: absolute;width: 100%;height: 100%;}

  缺点:

  多余的空白无语义span标签...

  以上几乎是现存所有的图像替换方法, 各有优缺点, 按照自己的情况选用吧.

评论

相关推荐

    25个高级CSS技巧教程

    在深入探讨这25个高级CSS技巧之前,我们先来理解一下CSS本身及其在现代网页设计中的重要性。CSS,即层叠样式表(Cascading Style Sheets),是一种用来描述HTML或XML文档如何呈现的样式语言。随着互联网的发展,CSS...

    CSS高级技巧:滑动门技术

    上一篇CSS教程 文章:CSS高级技巧:图片替换 滑动门(Sliding Doors) 还是决定把滑动门单独提作一种单独的技术. 它是CSS引入的一项用来创造漂亮且实用的界面的新技术, 它使用简单, 我们只需要使用两张单独的背景图片, ...

    精通CSS--高级Web标准解决方案(part1)

    - `精通css_008.jpg` 和 `精通css_027.jpg` 可能介绍了如何使用CSS来处理和优化网页中的图像,包括响应式图像、背景图像和图片替换技术。 虽然没有提供书籍的具体文字内容,但从图片文件名可以推测,《精通CSS——...

    让IE8以下兼容HTML5标签和CSS3高级选择器

    在开发Web应用时,我们经常会遇到一个问题:如何确保在IE8及以下版本的浏览器中实现对HTML5新标签和CSS3高级选择器的良好兼容性。这些老版本的Internet Explorer(尤其是IE8)并不原生支持许多HTML5特性及CSS3的新...

    旋转相册,上传图片替换即可使用

    这个压缩包文件提供了一个实现“旋转相册”功能的代码,用户只需上传图片即可快速替换原有相册中的图片,实现个性化展示。 首先,我们要理解前端展示的核心技术。HTML、CSS和JavaScript是构建前端界面的基础,其中...

    14个CSS实用技巧精选推荐.docx

    在某些情况下,为了实现特殊字体或图标,可以使用CSS的图片替换技术。例如,若想用图片替换文字,可以使用`h1:before`或`h1:after`伪元素,设置`content: url(image.png);`并调整文字的`color: transparent;`,以...

    JS+CSS3图片切换立体旋转特效源码.zip

    在本资源"JS+CSS3图片切换立体旋转特效源码.zip"中,主要涉及的是JavaScript(JS)和CSS3这两个关键技术在实现动态图片切换效果上的应用。这种特效通常用于网站设计,以提升用户体验,使页面更具吸引力。接下来,...

    10个你未必知道的CSS技巧

    5. **图片替换技术**:在SEO友好的情况下,可以使用CSS实现文本和图像的替换,避免过度依赖图片。例如,通过设置`text-indent`属性将文本推至不可见区域,同时使用背景图像,确保在图片不可见时仍然保留可读文本。 ...

    CSS技巧与工具(EditPlus语法文件下载)

    标题中的“CSS技巧与工具(EditPlus语法文件下载)”暗示了我们即将探讨的是关于CSS(Cascading Style Sheets)的一些高级技巧以及EditPlus编辑器中相关的语法文件。EditPlus是一款功能强大的文本编辑器,尤其适用于...

    CSS高级技巧:CSS Sprites

    **CSS Sprites技术详解** CSS Sprites是一种网页图像优化技术,通过将多个小图像合并到一张大图(称为精灵图)中,减少网络请求次数,从而加快...在接下来的CSS教程中,我们将探讨另一种图像优化技巧——图片替换。

    CSS_information.rar_c# css_c#css_c#的css_正则表达式

    CSS参考资料很可能是详细的CSS技术文档,涵盖了选择器、盒模型、定位、动画、过渡等核心概念。 总的来说,这个压缩包的内容对于深入理解C#在Web开发中的应用,以及CSS2和正则表达式的基础和高级知识非常有帮助。...

    20个初学者实用的CSS技巧

    标题中的“20个初学者实用的CSS技巧”是指针对CSS初学者的一系列技术要点,旨在帮助他们快速掌握CSS的基本应用。这些技巧涵盖了从解决浏览器兼容性问题到优化代码效率,以及实现各种视觉效果的各个方面。 描述中...

    黑色纹理图片展示会所CSS模板-黑色 纹理 图片 会所 整站.rar

    《黑色纹理图片展示会所CSS模板》是一款专为图片展示会所设计的网站模板,它以其独特的黑色纹理背景,营造出深邃而富有质感的视觉效果。本文将深入解析这款模板的设计理念、主要特点以及使用方法,帮助你更好地理解...

    精通CSS高级Web标准解决方案.pdf

    虽然标题和描述都指向了“精通CSS高级Web标准解决方案”,但实际内容并未提及CSS或Web标准相关的信息。因此,我们将基于现有内容中的技术细节来生成相关知识点。 ### 安装Office 2007及Microsoft Project过程中遇到...

Global site tag (gtag.js) - Google Analytics