您现在的位置是:网站首页> 编程资料编程资料
CSS图像替换技术的几种方案介绍使用CSS cross-fade()实现背景图像半透明效果的示例代码详解css图像拼合技术(精灵图)纯css实现3D图像轮转效果CSS实现图像映射的方法
2021-08-29
1910人已围观
简介 这篇文章主要介绍了CSS图像替换技术的几种方案介绍,有利于网页的设计布局和修改编辑,需要的朋友可以参考下
图像替换技术非常强大且很快开始流行——若是没有它,我们甚至都无法建立禅意花园。该技术可以说是实现复杂、灵活CSS布局的一块最为重要基石。
由此可以见图像替换的重要。
也许你会说直接放一副图片或加上背景不行吗?为什么要写上文本有把文本隐藏呢?这不是多此一举吗?这样做确实能达到一样的视觉效果,但对搜索引擎是不利的。因为搜索引擎不能从这块地方的到任何内容,它就不知道这块地方要表达什么意思。而使用图像替换技术对搜索引擎就很友好。在引用《CSS禅意花园》中的一段:
图像替换技术使用display:none的本意并不只是想要替换文本,这样做还有一些更深层次的理由。实际上,若是没有任何提示或帮助,计算机就无法认出或读取图像中包含的文字。例如HTML中img元素,若是没有了alt属性,那么对于google等搜索引擎,以及辅助浏览设备(例如,屏幕阅读器即可阅读页面内容,并以声音的形式告诉浏览者)之类无法呈现图像的客户端来说,将变的豪无意义。而图像替换技术则保留了被替换元素中的原有文本,因此无论对任何客户而言,理解页面内容都不成问题。
直接使用图像或背景是传统表格布局使用的方法,而图像替换是CSS布局使用的方法。这又一次证明了CSS布局的网站更有优点。
Levin的方案:
Levin Alexander想出了一个绝妙的注意:不再将文本置放于span中,而是将其从span中移出来,将文本和span一起放在父元素中,然后使用这个空白的span覆盖文本,并将背景图像应用到span之上。如果一切顺利的话,屏幕阅读器即可正常访问这段文本,切也充分考虑并解决了浏览器禁用图像后空白页面的可访问性问题了。但新的问题也随之出现,那就是图像不能是透明的,否则用户将会看到下面的文本。切这种方案所需要的CSS代码极为冗长,让人难以理解。
HTML代码:
- <h3 class="replace" id="myh1">And a dash of Thyme.<span>span>h3>
CSS代码:
- .replace{
- position:relative;
- margin:0;
- padding:0;
- }
- .replace span{
- display:block;
- position:absolute;
- top:0;
- left:0;
- z-index:1;
- }
- #myh1,#myh1 span{
- height:25px;
- width:300px;
- background:url(thyme.png);
- }
优点:屏幕阅读器可正常访问;解决浏览器禁用图片后空白页面的可访问性问题。
缺点:无法使用透明图像;CSS代码较为冗长。
Leahy和Langridge的方案:
Seamus Leahy和Stuart Langridge均独立地发现了这种方法。该方法让我们不必再添加那些多余的标签,且在保证屏幕阅读器可以正常阅读文本的同时,也能在页面中隐藏元素中的内容。
HTML代码:
- <h3 id="header">I like cola.h3>
CSS代码:
- #header{
- padding:25px 0 0 0;
- overflow:hidden;
- background:url(cola.gif) no-repeat;
- height:0;
- }
优点:屏幕阅读器可正常访问,没有多余的。
缺点:并没有解决浏览器禁用图象后空白页面的可访问性问题。
Fahrner的方案:
2003年3月,Douglas Bowman在他的网站Stopdesign上发布了一个技巧(www.stopdesign.com/articles/replace_text),让设计师能够用一张背景图像替代某元素中的文字,以期显出更美观的字体。为了表示对发明者Todd Fahrner的尊重,这个技巧随后也被叫做“Fahrner图像替换(Fahrner Image Replacement,FIR)”。该技巧实现非常简单:用span将元素中的文本包围起来,然后通过应用CSS样式隐藏这个span中的文本,最后将背景图像应用到该元素之上即可。例如,对于下面的这一段HTML标记:
- <h1 id="pageHeader"><span>css Zen Gardenspan>h1>
我们可以使用下面的这段CSS容易地实现图像替换:
- #pageHeader{
- background:url(lemonfresh.gif) top left no-repeat;
- width:400px;
- height:20px;
- }
- #pageHeader span{
- display:none;
- }
通过使用CSS的display:none或visibility:hidden,所有在#pageHeader元素中的span元素都被隐藏起来。Hellsing同时使用了上述两种CSS设定——但它们的效果确实一致的。图像替换技术非常强大且很快开始流行——若是没有它,我们甚至都无法建立禅意花园。该技术可以说是实现复杂、灵活CSS布局的一块最为重要基石。
Rundle的方案:
设计师Mike Rundle提出了一中使用负text-indent属性值的方法,将文本推到屏幕的左边缘之外,代码简洁优雅。
HTML代码:
- <h3 id="header">Apple pie with cheddar?!h3>
CSS代码:
- #header{
- text-indent:-5000px;
- background:url(sample-image.gif) no-repeat;
- height:25px;
- }
优点:屏幕阅读器可正常访问;没有多余的;简洁优雅的CSS。
缺点:并没有解决浏览器禁用图像后空白页面的可访问性问题。
相关内容
- 浅谈CSS中overflow清除浮动的用法CSS3 清除浮动的方法示例CSS清除浮动float的三种方法小结清除css浮动的三种方法小结详解css清除浮动float的七种常用方法总结和兼容性处理CSS清除浮动方法小结CSS清除浮动的常用方法优缺点分析html+css 清除浮动的相关技巧心得CSS中使用clearfix清除浮动的方法css 盒模型 文档流 几种清除浮动的方法实例详解
- 10个实用的CSS属性小结CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 初始化CSS的方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 使用word-wrap来防止文字溢出div和css制作斜线示例分享
- 使用CSS去掉超链接的虚线边框的方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS图片优化的一些相关建议css sprites技术 CSS Sprites图片切割术与图片优化深入理解
- 纯CSS3实现自定义Tooltip边框涂鸦风格的教程 div+css样式自制带小三角的tooltips效果CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)用简单的jquery+CSS创建自定义的a标签title提示tooltip关于CSS Tooltips(鼠标经过时显示)的效果怎么用纯CSS制作带小三角的tooltip提示框纯css实现漂亮又健壮的tooltip的方法
- 支持IE8的纯css3开发的响应式设计动画菜单教程使用CSS Grid布局实现网格的流动CSS布局之圣杯布局与双飞翼布局
- 一款利用纯css3实现的360度翻转按钮的实例教程利用纯css实现图片翻转的效果一款基于css3麻将筛子3D翻转特效的实例教程css3实现3D色子翻转特效CSS滤镜实现的颜色渐变翻转效果 纯CSS实现菜单、导航栏的3D翻转动画效果css控制列表与导航的制作(水平导航条、垂直翻转的列表、垂直导航栏、内css3的图形3d翻转效果应用示例CSS图片翻转动画技术详解(IE也实现了)CSS旋转与翻转使用示例详解CSS Cookbook 创建文字导航菜单和翻转特效
- css实例教程 一款纯css3实现的超炫动画背画特效css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
