我在一篇文章所说,首页的“站点名称”最好用h1标签来定义
,但从美观考虑,要用logo图片来代替h1,这时需要隐藏h1内的这段文字,但又不能对搜索引擎不友好,否则就失去了定义h1标签的意义。
在CSS中如何以图代字,找了一下CSS隐藏文字的方法,有以下几条:
1、display: none;
这个大家普遍说法是,搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略,不为隐藏的对象保留物理占位空间。GG也搜CSS文件?不过如果用这个方法,<h1>如何设计,也是难题。
2、visibility: hidden;
和display:none; 相对应,为隐藏的对象保留物理占位空间。
3、overflow: hidden;
这是网上用的最多的方法,但是我认为对于隐藏h1标签的“站点名称”文字,不太合适,原因我在最后说。
.texthidden {
display: block;
overflow: hidden;
width: 0;
height: 0;
}
4、positon: absolute;
用绝对定位将其推出可视区,不过虽然可视性不存在,但仍占据物理空间,与隐藏文字的宗旨相背,另外我个人不喜欢用绝对坐标定位magin这个属性,margin在不同浏览器中总是带来不可预料的Bug。
.texthidden {
positon: absolute;
margin-top: -9999px;
margin-left:- 9999px;
}
5、text-indent: -9999px;
把 h1作为一个块来显示(display:
block;),指定长宽(和图片一样大小),然后指定h1的背景图片,也就是将我们需要的图片作为h1这个标签的背景。而h1标签中插入的,仍然是作为
字符形式出现的博客标题,然后用text-indent:
-9999px;将文字甩到屏幕看不到的地方,9999px应该是足够了,谁的屏幕也没那么大吧。
h1 a {
height: 30px;
width: 165px;
float: left;
text-indent: -9999px;
background-image: url(images/logo.gif);
background-repeat: no-repeat;
display: block;
position: relative;
}
<h1
>
<a
href
=
http://www.zfnn.com/>
荆棘鸟
</a
>
</h1
>
总结一下:
如果不考虑搜索引擎的因素,方案一无疑最佳的,适合内网站点使用,并不是一无是处。
方案二,可以用在特殊的占位场合,了解一下,没坏处。
方案三,网上都说好,如果不是h1标签,还真可以用它。
方案四,嗯,前面说我不喜欢。
方案五,在h1使用上语义明确,符合语义化定义。text-
indent就是首行缩进,大家都在中文段落,首行空两格用过它。这里通过负值缩进,使文字超出可视区,而这时h1下的背景就显示出来了,h1中包含
的<a>标签又不影响使用,对于隐藏文字“站点名称”应该是最佳方案了。但对于多段文字的隐藏这个方法就不适合了。
这里还有个问题,就是点击<h1><a>链接时,会产生一个虚线框,对于IE还好,没什么问题,虚线框只是在背影图片大小。但是Firefox就有些麻烦,它把缩进的文字范围也包含进来了,这样不是很美观。
于是需要屏掉点击时产生的虚线框,IE和FF屏虚线框方法不一样。IE采用的遍历方法(HTC,css表达式)有些耗系统资源,正好我们只需要隐藏FF下的虚线框就行了,IE就不管了,说一下Firefox如何去掉链接的虚线框的方法。
a {
outline: none; /* 去掉Firefox点击时产生的虚线框 */
}
分享到:
相关推荐
css 隐藏多余的文字,许多网站开发的时候,都带有新闻动态模块,或者其他信息模块,有时候显示出的列表,不需要显示出所有信息,就用css 控制一下就Ok 了
主要介绍了CSS隐藏文字的6种方法,均通过各种上浏览器测试,当然,你可以综合3种方法一起用,需要的朋友可以参考下
css3解决了这个问题,解决方法如下: display:-webkit-box; //将对象作为弹性伸缩盒子模型显示。 -webkit-box-orient:vertical; //从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式) -webkit-line-clamp:2; /...
点击“more”显示更多隐藏文字内容,渐渐显示,在IE 等不支持CSS3浏览器下效果较差,建议在火狐浏览器下浏览,懒人之家推荐下载
主要介绍了CSS隐藏页面文字的几种方式总结,其中第二种font-size:0在使用时要特别注意Firefox上的显示效果,需要的朋友可以参考下
主要介绍了css 实现文字过长自动隐藏功能,需要的朋友可以参考下
....
....
这是一款非常有创意的css3悬停图片3D翻转动画显示文字代码,图片向上翻转渐隐消失切换到文字内容的动画效果。
....
....
文字隐藏应用广泛,但常用的方法没有什么亲和力。 文字隐藏应用广泛,但常用的方法没有什么亲和力。 常用文字隐藏方法的缺陷: 1、display:none 这种方法搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略; 屏幕...
二者的区别:隐藏文字是要把你不需要显示的文字隐藏掉,可能因为它妨碍美观或暂时不需要显示,也就表明此时文字的视觉可视性和物理空间存在性都没有;而图象替换就是用设计好的图片以背景的方式取代文字,目的是为了...
隐藏文字,此效果在 IE 中是正常的,但在 Firefox 里,鼠标点击该链接时,虚线框却会包住被缩进的文字,结果显示为虚线框 N 长。 因为平时是用overflow:hidden; 属性的,所以一直也没有注意到这个问题的存在,但...
这是一组共4种效果非常炫酷的CSS3移动手机滑动隐藏侧边栏菜单特效。这四种效果分别是:默认的点击滑动侧边栏菜单效果、带3D transforms的滑动侧边栏效果、文字缩放和淡入淡出效果的滑动侧边栏以及使用translate来...
display:none:它可以使包括容器本身在内的东西都消失,简便且有效,但它有两个耳熟能详的缺陷,那就是对搜索引擎不友好,且被屏幕阅读器所忽略。 text-indent:-9999px:text-indent是首行缩进,所以对于多行文本,...
‘//隐藏时候填充的文字 moretext: "(more)",//隐藏部分文字时候显示的文字 lesstext:"(less)",//全部文字时候显示的文字 cssclass:"limittextclass",//启用更多的A标签的CSS类名 lessfn:function(){},//当文字为更...