如何用CSS实现图像替换链接文本显示并保证链接可点击
来源:cnbruce 发布时间:2011-03-03 12:37:00
一个很普通的网页中显示LOGO图像,按照以往的页面制作经验,基本是在页面中插入图像即可(<img src="logo.gif" />),不过以新WEB标准进行CSS布局,首先就对该XHTML源码进行改造,设置为纯文本
一、为什么不直接插入图像?
1、插入图像的XHTML语意性不强,搜索引擎也无法辨别
2、插入的图像后期维护不灵活,如果需要变动,必须将引用的页面全部修改
采用CSS定义图像替换文本,严格意义上来说还是文本(网页源代码中可看),但表现形式是图像化的内容(用户浏览可看),同时如果需要修改图像,只需修改CSS文件中定义的属性值即可。
二、CSS定义图像替换链接文本必须满足哪些要求?
1、能显示出LOGO图像
2、隐藏链接文本
3、同时实现LOGO区域可点击
三、将XHTML编码进行调整?
原先XHTML编码
<div id="logo"><a href="http://www.cidianwang.com/" title="词典网"><img src="logo.gif" /></a></div>
将以上插入的图片代码替换成文本
<div id="logo"><a href="http://www.cidianwang.com/" title="词典网">短纤维-词典网网</a></div>
这么修改看来,页面中不会存在具体的图像元素,实现XHTML文档的干净。从搜索引擎的角度也更利于信息的读取。
四、通过CSS定义图像替换该文本(表现形式上)
1、定义id是logo的div的背景图像,设置为背景图像不重复,靠左靠上对齐
#logo {
background-image: url(/images/logo.gif);
background-repeat: no-repeat;
background-position: left top;
}
2、定义div内的a链接属性,设置宽度和高度(以背景图像LOGO的大小为基准),设置链接的显示为块状(display: block;)
此时的div区域既显示了背景图像,又显示了链接文本,并且也有了可点击区域,设置文本的缩进即可将文本隐藏(text-indent: -9999px;)
#logo a {
height: 50px;
width: 269px;
display: block;
text-indent: -9999px;
}
text-indent一般用在中文段落首行空两格的习惯中,如“text-indent:2em”,现在设置“-9999px”即将文本置于当前位置左侧9999px处,间接实现文本的不可见。
五,效果预览


猜你喜欢
- 1. 内置下载器中间件顺序{'scrapy.downloadermiddlewares.ajaxcrawl.AjaxCrawlMid
- 以前一直用RHEL 6.3和6.4,系统盘里自带了mysql server,配置好yum源后,直接yum install mysql-ser
- 环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采用 myisam引擎。access 2
- 第一种方式阿里云、百度云服务器可用!!!yum install python3第二种方式1.下载python3.6.5的压缩包wget ht
- 监听路由变化的几种方式小结vue页面开发中,我们经常需要根据路由的变化去实现一些操作,那么如何监听路由的变化呢?当然是利用VUE中的watc
- 首先看一下目标的验证形态是什么样子的是一种通过验证推理的验证方式,用来防人机破解的确是很有效果,但是,But,这里面已经会有一些破绽,比如:
- Microsoft SQL Server 2008通过与Microsoft Office的深度集成,为所有人提供了可用的商业智能,以合适的价
- 简介使用python实现pygame版的飞机大战游戏;环境:Windows系统+python3.8.0游戏规则:1.点击&ldquo
- 今天在百度知道看php相关资料时发现一个网友问一个wordpress安装提示错误的一个问题,说他在安装wordpress安装包时遇到这样一个
- 桑基图桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流
- 一、效果展示话不多说先上效果为了更有意境我加了个完美的背景来衬托出月饼的好看我的月饼画的不圆的原因是我故意的,为什么呢?因为月有阴晴圆缺啊!
- 将表数据生成SQL脚本的存储过程示例:CREATE PROCEDURE dbo.UspOutputData @tablename sysna
- 当然有,看看下面,你就会明白:<%Sub TimeDelaySeconds(Delay
- 通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器。 因为此了一个脚本来批量执行。 环境:redgate + mssql 2008
- 本文为大家分享了macOS下mysql 8.0.16 安装配置教程,供大家参考,具体内容如下1、安装程序下载打开MySQL 官网选择 DOW
- 我们都知道,可以使用高德地图api实现经纬度与地址的转换。那么,当我们有很多个地址与经纬度,需要批量转换的时候,应该怎么办呢?在这里,选用高
- 来一个简单的例子,看Python如何操作数据库,相比Java的JDBC来说,确实非常简单,省去了很多复杂的重复工作,只关心数据的获取与操作。
- 皇城PKPython中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢?自从Python2.6引入了format这个格式化字
- Python try重新执行:def numberinput(): #创建方法 try: s=int(input('n
- 在程序中,变量就是一个名称,让我们更加方便记忆。cars = 100 space_in_a_car = 4.0 drivers = 30 p