css中a:hover更换背景图片的问题

pcuser 2013-10-11 11:06:28
本来菜单鼠标经过更换背景图片都是 onmouseover 和 onmouseout 控制
也很久没写过东西了,这天要做个网站,看到都是用 div+css的,多年前我可都用Table排版的亚。
看到一个案例,鼠标经过更换背景图片的案例,感觉不错,试了一下,发现貌似有点弊端,发上来请教一下大家,看看什么问题。


.menu_btn
{
display:block;
width:150px;
height:60px;
background:url("images/menu.png");/* menu.png 以及下面的 menuX.png 都是 150*60的 */
}
.menu_btn:hover
{
background-position: 0 -60px;
}



<ul>
<li>
<a class="menu_btn" style="background:url('images/menu1.png')" href="#">1</a>
</li>
<li>
<a class="menu_btn" style="background:url('images/menu2.png')" href="#">2</a>
</li>
<li>
<a class="menu_btn" style="background:url('images/menu3.png')" href="#">3</a>
</li>
<li>
<a href="#" class="menu_btn">4</a>
</li>
</ul>


程序中1、2、3当鼠标经过都不能变化背景,4可以正常变化背景。
求解答为什么会这样,有什么好的方法可以实现都可以正常变化背景的。
注: .menu_btn 中本来是没有 background:url("images/menu.png"); 发现不行,为了调试,才在加入 4 的时候加进这一句的。
...全文
6596 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌哩码嗏 2013-10-12
  • 打赏
  • 举报
回复
引用 4 楼 zqaq_520 的回复:
样式优先级问题啊~a标签style优先级高于.menu_btn:hover的定义,因此会覆盖掉
建议楼主试试,不要将图片定义为背景,而是作为img图片, 然后定义一个“oriPic”的img图片样式<img class="oriPic" src=""> 以及一个“covPic”的img图片样式<img class="covPic" src=""> 再来定义.menu_btn:hover .oriPic的 display: none; .menu_btn:hover .covPic的 display:block; 外加position来定义图片位置 仅做参考,未试过!
乌哩码嗏 2013-10-12
  • 打赏
  • 举报
回复
样式优先级问题啊~a标签style优先级高于.menu_btn:hover的定义,因此会覆盖掉
_MyPrecious 2013-10-12
  • 打赏
  • 举报
回复
123 不是 有style背景吗,去了不就有了吗
pcuser 2013-10-12
  • 打赏
  • 举报
回复
回复楼上,图片没有问题,同一个图片试过的了。 另,是 hover 的时候没有变化背景。
萧萧可乐 2013-10-12
  • 打赏
  • 举报
回复

.menu_btn
{
    display:block;
    width:150px;
    height:60px;
    background:url("images/menu.png");/* menu.png 以及下面的 menuX.png 都是 150*60的 */
    background-position: 0 0; /* 这个加上试试  一般不加也可以吧 */
}
.menu_btn:hover
{
    background-position: 0 -60px;
}
还有 看看是不是你的图片有问题。。。
easesu 2013-10-12
  • 打赏
  • 举报
回复
如4楼所说,样式优先级问题,background是简写形式,包含背景设置的所有信息,如本例本只想修改图片,却把其他的设置也覆盖掉了,可以将内联样式里的background属性换成background-image,这样只修改背景图片,而不修改其他设置。
内容简介 本书将最有用的CSS技术汇总在一起,在介绍基本的CSS概念和最佳实践之后,讨论了核心的CSS技术,例如图像、链接、列表操纵、表单设计等。每一章内容由浅入深,直到建立比较复杂的示例。之后本书又着重讨论如何使用DIV结合CSS来搭建网站,同时也介绍了CSS在Dreamweaver的应用。并且对于在CSS制作过程遇到的Bug进行了详细的分析。 本书适合初、级网页设计爱好者阅读参考。 第1篇 新手上路 第1章 Web标准和XHTML基础 2 1.1 Web标准概述 3 1.1.1 结构 3 1.1.2 表现 4 1.1.3 行为 4 1.2 Web标准的发展历史 5 1.3 Web标准的优点 6 1.4 XHTML基础 7 1.4.1 XHTML标签 7 1.4.2 XHTML的优点 9 1.4.3 XHTML的良好编写习惯 10 1.4.4 文档类型 13 1.4.5 定义语言编码 15 1.5 用Web2.0标准改善现有网站 16 1.5.1 初级改善 16 1.5.2 级改善 17 1.6 小结 19 第2章 CSS基础 20 2.1 CSS概述 21 2.1.1 CSS介绍 21 2.1.2 CSS的优点 22 2.2 调用样式表 23 2.2.1 内嵌样式 23 2.2.2 内部样式表 23 2.2.3 外部样式表 25 2.3 CSS的单位 27 2.3.1 长度单位 27 2.3.2 百分比单位 28 2.3.3 颜色单位 28 2.3.4 URL单位 29 2.4 基本语法 29 2.5 选择器 30 2.5.1 选择器组 31 2.5.2 class类选择器 31 2.5.3 ID选择器 34 2.5.4 包含选择器 35 2.5.5 属性选择器 35 2.5.6 通配选择器 36 2.5.7 子对象选择器 36 2.5.8 相邻选择器 37 2.5.9 CSS的优先权 37 2.6 伪元素 39 2.7 样式类 41 2.7.1 ID类 41 2.7.2 伪类 42 2.7.3 类继承 44 2.8 样式表的层叠性 47 2.9 注释 49 2.10 CSS的属性和值 49 2.10.1 字体属性 49 2.10.2 文本属性 56 2.10.3 颜色和背景属性 61 2.10.4 边框属性 68 2.10.5 列表属性 74 2.10.6 定位属性 80 2.10.7 鼠标属性 82 2.11 小结 84 第2篇 玩转设计 第3章 图像样式设计 86 3.1 图像边框 87 3.2 图像阴影效果 91 3.3 图像替代文本 96 3.4 图片裁剪 98 3.5 制作图像走廊 100 3.6 小结 106 第4章 链接样式设计 107 4.1 链接样式 108 4.1.1 a:link 108 4.1.2 a:visited 109 4.1.3 a:hover 110 4.1.4 a:active 111 4.2 下划线个性化 111 4.3 创建按钮 114 4.3.1 普通按钮式链接 114 4.3.2 3D效果按钮式链接 116 4.4 图片翻转链接 119 4.5 更换链接鼠标指针 122 4.6 小结 124 第5章 列表样式设计 125 5.1 创建垂直导航条 126 5.2 创建“滑动门”标签式导航栏 128 5.2.1 滑动门技术 128 5.2.2 “滑动门”标签式导航栏实例 129 5.3 打造个性折叠菜单 132 5.4 创建下拉菜单 137 5.5 CSS图像映射 141 5.6 小结 149 第6章 表格样式设计 150 6.1 变换背景色 151 6.1.1 变换表格背景色 151 6.1.2 变换表格行背景色 153 6.1.3 变换单元格背景色 154 6.2 CSS控制表格的颜色交替 155 6.3 CSS控制表格边框 156 6.4 制作圆角框 157 6.5 小结 159 第7章 表单样式设计 160 7.1 表单样式设计 161 7.1.1 表单透明化 161 7.1.2 增加表单的空隙 162 7.2 表单元素样式设计 163 7.2.1 文本框样式 163 7.2.2 文本域样式 166 7.2.3 按钮样式 166 7.2.4 下拉列表样式 167 7.3 小结 169 第3篇 深入了解 第8章 CSS滤镜 172 8.1 滤镜概述 173 8.2 滤镜属性 173 8.2.1 Alpha属性 174 8.2.2 Blur属性 176 8.2.3 Chroma属性 180 8.2.4 DropShadow属性 182 8.2.5 FlipH、FlipV属性 183 8.2.6 Glow属性 185 8.2.7 Gray属性 187 8.2.8 Invert属性 187 8.2.9 Mask属性 188 8.2.10 Shadow属性 189 8.2.11 Wave属性 191 8.2.12 Xray属性 194 8.3 小结 194 第9章 div+CSS介绍 195 9.1 网页布局模式 196 9.2 div概况 197 9.2.1 了解div 197 9.2.2 使用div 197 9.2.3 定义div 198 9.2.4 div和span的区别 199 9.3 div+CSS布局介绍 200 9.3.1 div+CSS布局的优点 200 9.3.2 div+CSS布局的缺点 201 9.3.3 何时使用TABLE 202 9.4 一列布局 203 9.4.1 一列固定宽度 203 9.4.2 一列宽度自适应 204 9.4.3 一列宽度居 205 9.5 二列布局 206 9.5.1 二列固定宽度 206 9.5.2 二列宽度自适应 207 9.5.3 二列右列宽度自适应 208 9.5.4 二列固定宽度居 209 9.6 三列布局 210 9.6.1 列宽度自适应 210 9.6.2 三栏布局 212 9.7 高度自适应 215 9.8 小结 216 第4篇 实战演习 第10章 div+CSS打造Blog版面 218 10.1 页面布局和规划 219 10.1.1 页面设计 220 10.1.2 文档目录和模版设计 221 10.2 首页设计 222 10.2.1 首页框架设计 222 10.2.2 导航条设计 225 10.2.3 主体设计 226 10.3 详细页面设计 230 10.4 小结 232 第11章 Dreamweaver 8+CSS可视化开发 233 11.1 Dreamweaver 8对CSS的支持 234 11.1.1 新的CSS支持面板 234 11.1.2 CSS可视化助理 238 11.1.3 代码校验 241 11.1.4 样式呈现 243 11.2 创建CSS布局 246 11.2.1 新建布局页面 246 11.2.2 插入div进行布局 247 11.2.3 创建CSS规则 250 11.3 CSS调试辅助工具 256 11.3.1 Web Developer插件的安装 256 11.3.2 Web Developer插件概要 258 11.3.3 Web Developer的主要功能 261 11.3.4 Web Accessibility Toolbar的安装 269 11.3.5 Web Accessibility Toolbar的主要功能 270 11.4 小结 270 第12章 CSS打造个性版面 271 12.1 首页设计 272 12.1.1 页面整体设计 272 12.2.2 网页header设计 274 12.2.3 页面主体设计 278 12.2.4 网页footer设计 280 12.2 “家居展览”页面设计 281 12.3 “留言本”页面设计 283 12.4 “注册”页面设计 285 12.5 小结 287 第13章 CSS Bug以及修复 288 13.1 常见的CSS Bug 289 13.2 浏览器兼容性 292 13.2.1 CSS hack技术 292 13.2.2 盒模型 298 13.2.3 浮动模型 303 13.2.4 IE 3px Bug 306 13.2.5 IE文字溢出现象 307 13.2.6 IE6 Peekaboo Bug(捉迷藏) 309 13.2.7 IE6 Guillotine Bug(断头台) 310 13.2.8 列表背景消失Bug 312 13.2.9 针对IE7.0的hack 313 13.2.10 正确看待IE 314 13.3 小结 315
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>文字走马灯</title> <style type="text/css"> *{ margin: 0; padding: 0; font-size:12px; } body{ background-color: #2C1914; font-family:"宋体"; } .abs{ position:absolute; } .rel{ position:relative; } .wrap{ min-height:1000px; } .main{ height:718px; } .con980{ width:980px; margin:0 auto; } .header{ width:100%; height:50px; } .play{ background:url() no-repeat; width:980px; height:625px; padding:22px 0 0 21px; } td{ width:187px; height:115px; font-family:"微软雅黑"; background-color:#666; text-align:center; line-height:115px; font-size:80px; } .playcurr{ background-color:#F60; color: #FFFFFF; } .playnormal{ background-color:#666; } .play_btn{ width:480px; height:115px; display:block; background-color:#F60; border:0; cursor:pointer; font-family:"微软雅黑"; font-size:40px;} .play_btn:hover{ color:#fff; } .btn_arr{ left:255px; top:255px; } </style> </head> <body>

<input value="开始" id="btn1" type="button" class="play_btn" ></p>

[removed] /*思路:获取坐标--数组arr 运行轨迹--获取最外圈数组 runArr 高亮显示--根据runArr的下标来更换背景色和字体颜色 速度变化--改变定时器的执行频率 setTimeIterver(function(),time) 停止点--获取随机数付给runArr,并清除定时器 加速减速 转动圈数:计数器 */ /*定义二维数组 为了易于维护修改,长宽设为参数m,n*/ function getSide(m,n){ var arr=[m];//先声明m长度的一维 for(var i=0;i"); // } /*获取运动轨迹 -- 最外圈的数组*/ var runArr=[]; var tempX=0, //定义坐标 tempY=0, direction="straight", count=0; while(tempX>=0 && tempX=0 && tempY"); }*/ //定义启动函数 function start(){ btn.disabled = true; stopNum = Math.floor(Math.random() * 16);//点击产生随机数,最后将停在次数上 downIndex=Math.floor(Math.random() * 16); EndCycle=1; clearInterval(timer); cycle=0; flag=false;//结束转动标志 timer=setInterval(run,speed);//启动定时器 } //运行函数 function run(){ change();//背景变化函数 //跑马灯加速 if(flag==false){ if(speedUp==5){ //走5格后加速 clearInterval(timer); //先清除定时器,再改变速度 speed=50; timer=setInterval(run,speed); } } //跑N圈后减速 if(cycle==EndCycle+1 && index==downIndex){ clearInterval(timer); speed=300; flag=true; //触发结束 timer=setInterval(run,speed);//减速 } //计算转了几圈 if(index>=runArr.length){ index=0; cycle++; } //停止并选号码 if(flag==true && index==stopNum){ speedUp=0; clearInterval(timer); btn.disabled = false; } } //单元格背景变亮 function change(){ tb.rows[runArr[index][0]].cells[runArr[index][1]].className="playcurr"; //给当前单元格添加样式,换高亮的背景色; if(index>0){ prevIndex=index-1;//前一位置 } else{ prevIndex=runArr.length-1; } tb.rows[runArr[prevIndex][0]].cells[runArr[prevIndex][1]].className="playnormal";//光标走过后恢复背景色; index++; speedUp++; } [removed] </body> </html>

61,114

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧