CSS基础实例:CSS实现带背景图片的文字链接的方法

   在论坛闲逛,遇到一个朋友提出了一个关于“CSS实现带背景图片的文字链接”的问题。

   经典论坛贴子原文如下:

   我想做成第一种图片的效果。可是按我自己的代码写下来就成了第二种效果,字有多大背景就是多大,不会完全显示出来。晕。
 有什么办法解决么。
  a{text-decoration:none;}
  a.left:link{color:#353535;}
  a.left:visited{color:#353535;font-size: 11pt;font-weight: bolder;
  text-align:center;background-image: url(images/0014.gif);}
  a.left:hover,a:active,a:focus{color:#353535;}

 

   其实这个问题的主要思路是这样的:
  将A设置为块元素,图片是此元素的背景。
  在悬停状态,不仅可以设置文字的效果,还可以设置背景图片是不是变化。
  我们首先准备一张背景图片:

     图片链接
  我们看下面的效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>www.52css.com</title>
<style type="text/css">
* {
 font-size:12px;
 text-align:center;
}
a {
 display:block;
 width:100px;
 height:30px;
 color:#353535;
 line-height:30px;
 text-decoration:none;
 background:url(http://www.52css.com/attachments/month_0708/y200782801114.png) no-repeat 0 0;
}
a:hover {
 color:#000;
 background:url(http://www.52css.com/attachments/month_0708/y200782801114.png) no-repeat 0 -30px;
}
</style>
</head>
<body>
<a href="http://www.52css.com/">52CSS.com</a>
</body>
</html>

 

关于代码的依秩序说明如下:
  * {……}
  整体布局声明,12px的文字大小,并居中对齐;
  a {……}
  将A元素设置为块元素,宽度与高度分别定义为100px、30px;
  设置文字颜色,设置行高为30px,实现文字在A区域内垂直居中对齐。
  设置文字的装饰线为无,即去掉了链接的下划线。
  背景的设置,指定图片所在URL,设置背景图片不重复,定位在0 0的位置。
  a:hover {……}
  设置文字颜色,背景图片除了Y方向的坐标改为-30px其它与上面一样。
  链接的背景图片为100*60px,在链接状态,显示上半部分,即坐标为0 0。在鼠标悬停状态,我们希望看到的是图片的下半部分,所以坐标为0 -30px。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值