如何用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处,间接实现文本的不可见。

五,效果预览



标签:替换,链接,css,图像
0
投稿

猜你喜欢

  • Go语言Elasticsearch数据清理工具思路详解

    2023-08-07 06:29:49
  • python SocketServer源码深入解读

    2023-04-15 18:38:44
  • Python性能分析工具py-spy原理用法解析

    2021-08-30 14:57:23
  • xml文件调用css

    2008-09-05 17:12:00
  • 详解PyCharm使用pyQT5进行GUI开发的基本流程

    2021-10-15 22:38:34
  • 如何使用PyCharm引入需要使用的包的方法

    2021-12-22 07:34:56
  • 实例说明Python中比较运算符的使用

    2021-04-05 02:46:39
  • python实现两个dict合并与计算操作示例

    2021-07-29 15:37:25
  • 更改Mysql root用户密码

    2024-01-26 05:51:43
  • 详解python实现可视化的MD5、sha256哈希加密小工具

    2021-05-31 15:02:34
  • python中几个常用函数的正确用法-lambda/filter/map/reduce

    2022-02-17 14:52:45
  • pycharm new project变成灰色的解决方法

    2023-10-29 20:29:23
  • 基于Python测试程序是否有错误

    2021-05-09 22:45:35
  • javascript实现炫酷的拖动分页

    2024-06-19 01:46:04
  • pytorch中的model.eval()和BN层的使用

    2023-09-21 17:06:10
  • Go语言中的通道channel详情

    2024-05-09 09:47:28
  • ACCESS数据库遇日文时内存溢出的最简单处理办法

    2009-07-09 14:04:00
  • SpringSecurity框架简介及与shiro特点对比

    2023-01-03 13:56:25
  • Python if语句知识点用法总结

    2022-01-03 06:43:14
  • 教你用PyTorch部署模型的方法

    2023-07-23 17:52:30
  • asp之家 网络编程 m.aspxhome.com