打开电脑,感觉没有什么事可做,就随便拿起《css mastery》翻了下,刚好看倒图像替换这块,突然想起前些天曾有一网友问过该问题,就想总结出来,以便自己和网友今后参考。
正式进入使用方法总结之前,我们需要先理清几个概念,1.二者的区别:隐藏文字是要把你不需要显示的文字隐藏掉,可能因为它妨碍美观或暂时不需要显
示,也就表明此时文字的视觉可视性和物理空间存在性都没有;而图象替换就是用设计好的图片以背景的方式取代文字,目的是为了使用户有更好的视觉享受,因为
设计人员对文字只有有限的选择能力,但如果不写文字而直接使用背景图象又对搜索引擎不大友好,故而发明了图象替换。可能这会有些朋友有这样的疑问:为什么
不直接用<img
/>标签呢?这就涉及到标准中的分离了,在标准中只有数据才应该直接写到Xhtml中,很显然这儿的图片只能算作表现,因此,图象替换中文字虽然是
不可见的,但它的物理空间仍然存在。2.什么时候该用图象替换?由于图象替换技术在关闭图象且打开CSS的情况下将出现内容空白,所以应当尽可能避免使用
它,当然如果文字需要使用特定字体,且不是很重要的信息时可以考虑使用。我特别想提及的是logo到底该不该应用图象替换?我认为logo(既非
banner也非标题)是应当作为数据出现的,因为它是一个站点的标志。好了,言归正传,开始列举常用方法。
先说CSS隐藏文字的几种常用方法,并顺便解释下各自的优缺点:
1.display:none:它可以使包括容器本身在内的东西都消失,简便且有效,但它有两个耳熟能详的缺陷,那就是对搜索引擎不友好,且被屏幕阅读器所忽略。
2.text-indent:-9999px:text-indent是首行缩进,所以对于多行文本,若单独使用它就有明显的不足,需加上
white-space:nowrap;来弥补不足,但还有一个问题:物理空间仍然存在,故还需设置line-height:0;或使用超小字体(在IE
下有点BUG),最终代码如下:
代码:
以下为引用的内容:
.texthidden{
text-indent:-9999px;
white-space:nowrap;
line-height:0;}
3.overflow:hidden:这是一个比较合理且我最喜欢的方法,具体代码如下:
代码:
以下为引用的内容:
.texthidden{
display:block;/*统一转化为块级元素*/
overflow:hidden;
width:0;
height:0;}
附加:positon:absolute:
用绝对定位将其推出可视区,不过虽然可视性不存在,但仍占据物理空间,与隐藏文字的宗旨相背,代码请看:
代码:
以下为引用的内容:
.texthidden{
positon:absolute;
margin-top:-9999px;
margin-left:-9999px;}
下来列举图象替换的流行技术,希望可以帮助你更好地掌握它们并了解各自的局限性:
1.display:none:此处使用该方法时,需要多添加一层额外的无语义的结构(此处用了span)来应用display:none;,
即<h1><span>标题/span></h1>,再加上上述的缺陷,所以最好不使用该技术。
2.text-indent:-9999px:隐藏文字中已经都说了,只需在代码中去除line-height:0;,再添加
background:url();即可,但text-indent:-9999px;在不同的浏览器存在差异,比如在IE5下就常会出现背景显示不出来
或是滞后问题,不过总的来说,在图象替换方面它还是一个不错的方法。
3.overflow:hidden:这依旧是一个我最喜欢的方法,但合不合理却不敢妄言,具体代码如下:
代码:
以下为引用的内容:
.replacement{
display:block;/*统一转化为块级元素*/
overflow:hidden;
width:300px;
height:100px;
padding:100px 0 0;
background:url();}
若需要替换一个带链接的文字(即a出现在文字标签中),则需要对代码稍做些改动,具体代码如下:
代码:
以下为引用的内容:
.replacement,.replacement a{
display:block;/*统一转化为块级元素*/
overflow:hidden;
width:300px;
height:100px;}
.replacement a{
padding:100px 0 0;
background:url();}
对于该代码需要注意的是,必须在父级标签中加一个overflow:hidden;,因为在IE下会出现一个小bug:a的内容没办法溢出隐藏。
附加:positon:absolute:以上三种替换方法都有一个共同的缺陷,那就是:如果浏览器禁止显示图片且打开CSS或者用阅读器之类的话
会造成用户无法接受信息。为了解决这一问题,在《css
mastery》一书中,给我们提出了这样一种方法:将一个图象覆盖在文字上而非隐藏文本,代码请看:
代码:
以下为引用的内容:
<style type="text/css">
h2{
positon:relative;
width:300px;
height:100px;}
h2 span{
positon:absolute;
width:100%;
height:100%;
background:url();}
</style>
<h2>
<span></span>晋西浪子
</h2>
当然它也有缺陷,比如,添加了一层额外的无语义的结构(比display:none内的更加没有意义),还有它必须使用具有实色背景的图象。
分享到:
相关推荐
在本案例中,"可隐藏或展开的文字特效"是一个关于如何实现这一功能的技术点。 首先,我们要了解这个功能的基本工作原理。通常,这种效果是通过JavaScript、CSS以及HTML三者结合来实现的。HTML用于构建基础结构,CSS...
在本文中,我们将深入探讨如何使用CSS3的transform属性创建一个具有鼠标悬停效果的弹性文字切换动画特效。这个特效不仅使按钮的文字在鼠标悬停时动态改变,而且按钮的背景和文字颜色也会随着交互而变化,从而为用户...
分析这些文件的内容可以帮助我们更深入地理解具体的实现方法和技巧,例如文件如何组织、代码如何优化以提高性能和用户体验等。 总的来说,实现“图片 和文字一起切换切换”的功能,需要综合运用HTML、CSS和...
"深入分析网页CSS隐藏文字和以图换字技术"探讨了如何在不影响SEO的情况下实现视觉效果,比如使用`text-indent`负值隐藏文字,或者通过背景图像替换文本。 "css+div网站优化"关注了提升网站性能的方法,包括减少HTTP...
这个"纯css3实现的鼠标悬停图片遮罩文字显示动画特效源码.zip"是一个示例项目,它展示了如何利用CSS3特性来创建交互式的图片展示效果,特别是当鼠标悬停在图片上时,图片的部分区域会变成遮罩,显示出隐藏的文字内容...
在"Js网页焦点图显示文字说明.rar"这个压缩包中,包含的是一款使用JavaScript和Flash技术实现的网页焦点图特效,特别适合用在门户网站的娱乐频道或者其他需要展示多张图片并附带文字描述的场景。 JavaScript是一种...
HTML和CSS是网页设计的基础,而在这个“html文字层叠动画效果.rar”压缩包中,包含的是一种利用jQuery和CSS实现的文字层叠动画特效。这种特效可以为网站增添动态视觉吸引力,提高用户体验,尤其适用于标题展示、信息...
通过上述分析,我们可以了解到`<marquee>`标签的基本用法及其属性,同时也学习到了如何使用现代Web技术如JavaScript和CSS来实现同样的滚动效果。这种自定义的滚动方式不仅可以提供更多的定制化选项,还能确保良好的...
通过查看和分析这些代码,你将更好地理解CSS3如何实现动态效果,并能熟练运用到实际的网页设计中。 总的来说,掌握这些CSS3实现的鼠标经过图片显示描述特效,不仅可以提升网页设计的品质,也能让你在同行中脱颖而出...
在本文中,我们将深入探讨如何使用CSS3来创建鼠标悬停时的文字边框背景动画特效。这些效果可以增强用户交互体验,使网站看起来更加生动有趣。我们主要关注五种不同的动画效果,它们分别是:边框从上、下、左、右以及...
【标题】"JS程序员简历文字动画代码.zip"所包含的知识点主要集中在JavaScript、jQuery和CSS这三个...通过分析和修改这个代码,开发者可以深入理解这三种技术在实际项目中的应用,以及如何协同工作以实现复杂的效果。
在网页设计中,jQuery是一种...通过查看和分析这些文件,你可以更深入地理解这个效果的实现细节,并且将其应用到自己的项目中。如果需要在其他浏览器中实现相同效果,只需确保CSS代码使用了现代浏览器兼容的语法即可。
在IT行业中,文字向上滚动特效通常用于网页设计、软件界面或者多媒体展示中,为用户提供动态且引人注目的视觉体验。这种特效可以让文字信息在屏幕上从下往上连续滚动,类似于电影开场时的“滚动字幕”效果。接下来,...
【炫酷带阴影的3D立体文字动画】是一款基于jQuery和CSS实现的特效代码,它为网页设计者提供了丰富的视觉效果,使文字呈现立体、动态且带有阴影的3D效果,能够极大地提升网页的吸引力和用户体验。这款特效适用于网页...
总的来说,"改进的无缝隙图片加说明文字自左向右滚动代码"是一种提升网页互动性和吸引力的技术手段,涉及HTML、CSS和JavaScript的综合运用。理解和掌握这一技术,对于网页设计师和前端开发者来说,能够丰富他们的...
4. **CSS样式控制**:通过JS改变元素的CSS属性,如`display`或`opacity`,来实现文字的显示和隐藏。可以使用`element.style.property = value`的形式直接修改,或者使用`element.classList.add/remove/toggle`操作...
CSS可以用于美化商品图片的边框、设置背景色、调整文字样式、创建悬停效果等。此外,为了确保在不同设备上的良好显示,可能还会涉及到媒体查询(media queries)以实现响应式布局。 最后,JS(JavaScript)是网页的...
本文将根据提供的内容,深入分析CSS+DIV布局中的一个常用小模板,并解释其中的关键知识点。 #### CSS样式小模板解析 该模板通过一系列的CSS规则来重置浏览器的默认样式,以确保跨浏览器的一致性。以下是对模板中...