我在一篇文章所说,首页的“站点名称”最好用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隐藏文字的方法,这些方法已经在多种浏览器中经过测试,确保兼容性。隐藏文字有时是为了提升用户体验或者优化页面结构,但同时也需要考虑SEO(搜索引擎优化)和无障碍访问的需求。 首先,...
在上述提供的“CSS隐藏代码大全”中,我们看到一系列的CSS规则,它们主要用于隐藏网页中特定部分,以达到定制化界面或者优化用户体验的效果。下面我们将详细解释这些代码及其作用。 1. 去除头部 banner:`div#...
第三种方法是在需要隐藏文字的元素内部添加一个`<span>`标签,并将其`display`属性设置为`none`。这种方法简单且易于控制,但缺点是增加了HTML的标签数量,对于大量重复使用的场景,可能会导致HTML代码膨胀。 第四...
以下是标题所提及的CSS隐藏多余文字的几种常见策略: 1. **使用`text-indent:-9999px`** 这种方法常用于隐藏块级元素(例如`<p>`或`<div>`)内的文本。通过将`text-indent`属性设置为一个负的大数值,可以将文本推...
标题中的“CSS隐藏多余文字的几个方法”是指在网页设计中,如何利用CSS技术来处理文本超出容器显示范围的情况,确保页面布局的整洁和用户体验的良好。以下是对这些方法的详细解释: 1. **使用`text-indent:-9999px`...
总的来说,CSS隐藏多余文字的方法多种多样,开发者应根据具体需求选择合适的技术。`text-indent`、调整`line-height`和`font-size`、使用`<span>`以及`text-overflow:ellipsis;`都是常见的策略,它们各有优缺点,...
css3解决了这个问题,解决方法如下: display:-webkit-box; //将对象作为弹性伸缩盒子模型显示。 -webkit-box-orient:vertical; //从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式) -webkit-line-clamp:2; /...
例如,我们可以使用`transition`属性为文字的显示和隐藏添加过渡效果。 ```css #toggleText span { transition: opacity 0.5s; } .text2 { opacity: 0; } ``` 3. **jQuery交互**:最后,我们需要使用jQuery监听...
在CSS3中,文字特效是通过一系列高级特性来实现的,这些特性为网页设计者提供了...在`demo.html`这个文件中,可能就包含了一个或多个这样的CSS3文字特效的示例,通过查看和学习,可以更深入地理解这些效果的实现方法。
2. **旋转进出**:利用transform属性中的rotate函数,使文字在显示或隐藏时进行旋转,增加动态感。 3. **飞入/飞出**:通过改变元素的位置(translateX, translateY)来模拟文字从屏幕边缘飞入或飞出的效果,常用于...
在本特效中,JavaScript可能被用来控制文字的显示和隐藏时间,以及动画的启动和停止,使文字在特定的时间点闪烁或者滑过。 接着,CSS3是CSS(层叠样式表)的最新版本,它引入了许多新的特性和功能,极大地扩展了...
CSS隐藏页面文字的方法主要包括以下几种: 1. text-indent负值方法: 这是目前最常用的隐藏文字的方法之一。通过将text-indent属性设置为一个较大的负值,可以使文字向左偏移,超出容器可视范围而被隐藏。例如,...
标题中的“jquery+css3渐变显示“更多”隐藏内容”指的是使用JavaScript库jQuery和CSS3的过渡效果来实现一种动态展示隐藏文本的功能。当用户点击“更多”按钮时,原本被隐藏的文字会逐渐显现出来,给用户带来平滑的...
HTML部分通常会有一个包含多个图片元素的容器,每个图片元素都可能有相应的文字描述,通过CSS和JavaScript进行隐藏和显示。JavaScript代码则会定义变量来存储当前显示的图片索引,以及处理点击事件的函数。 在实现...
/* 默认隐藏文字 */ transition: opacity 0.5s; /* 添加过渡效果,与图片翻转同步 */ } .image:hover + .text-content { opacity: 1; /* 图片翻转后,文字渐显 */ } ``` 此外,压缩包中的`bootstrap-3.3.6`目录...
当我们需要展示大量文本但受限于有限的空间时,可以利用CSS来实现文字的多行省略效果,让超出部分以省略号(...)的形式呈现。在给定的“CSS实现多行文字显示省略号效果.zip”压缩包中,包含了一个名为“2.css”的...
3. **替代方案**:除了`text-indent`,还可以使用`display: none`或`visibility: hidden`来隐藏文字,但这两种方法会完全移除元素,可能导致超链接无法被鼠标点击。因此,`text-indent`在保持链接功能的同时隐藏文字...
CSS 提供了一些方法来实现这一目标,即当文本超出指定长度时自动隐藏多余部分。这里我们将详细介绍如何使用 CSS 来实现单行和多行文字的自动隐藏功能。 首先,我们来看单行文字的自动隐藏。这种方法适用于只有一行...