|M| 为了让HTML代码明了和符合规范 我的一个Button的控件的CSS 怎和来写 有Over Out Down 有的复杂 谢谢

zyciis603 2007-12-10 12:05:13

<asp:Button ID="btnRefresh" runat="server" Text="刷新" CssClass="btnRefresh" onmousedown="this.className='btnRefreshDown';" onmouseout="this.className='btnRefresh';" onmouseover="this.className='btnRefreshOver';"/>


.btnRefresh
{
cursor: pointer;
padding-left:25px;
padding-top:3px;
font-size: 12px;
background: transparent;
border: 0px;
width: 71px;
height: 26px;
background-image: url(/Images/Button/Refresh.gif);
background-repeat: no-repeat;
}
.btnRefreshOver
{
cursor: pointer;
padding-left:25px;
padding-top:3px;
font-size: 12px;
background: transparent;
border: 0px;
width: 71px;
height: 26px;
background-image: url(/Images/Button/RefreshOver.gif);
background-repeat: no-repeat;
}
.btnRefreshDown
{
cursor: pointer;
padding-left:25px;
padding-top:3px;
font-size: 12px;
background: transparent;
border: 0px;
width: 71px;
height: 26px;
background-image: url(/Images/Button/RefreshDown.gif);
background-repeat: no-repeat;
}


以上是我的一个Button的控件的CSS
也就是三种状态 正常 鼠标在上面 鼠标按下 的三种CSS状态
以前这种写法在VS2003中是可以的
当然在VS2005也是可以的,但他会提示:属性XXX不是button的有效属性
显示这里不会出错,但总感觉不舒服
还有一个就是加上这些东西那个Button会变得很长 看起来也不好看

然后我就想把这些东西添加到后台的Onload中来写
也可以实现我要的 前台的代码 看起来也简单多了
但是这样的话我后台就要对这些Button都要写这些方法 也不方便

再后来听孟子说用CSS的一种好像是微软的方法在CSS里面嵌JS
但是这种方法只能在IE中在 火狐 就没用了
------------------------------------------------------
问如何能让我的前台代码只剩下

<asp:Button ID="btnRefresh" runat="server" Text="刷新" CssClass="btnRefresh" />

而又不在后台为这个Button添加onmousedown .. 这些事件
而实现IE和火狐都可以正常显示成我上面的那个效果

谢谢

PS:晕今天 注册账号发现现在的账号每个账号只有100分 有点失望

谢谢大家的支持
...全文
78 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyciis603 2007-12-10
  • 打赏
  • 举报
回复
谢谢
cpp2017 2007-12-10
  • 打赏
  • 举报
回复
<script >


SetCss("btnRefresh");
function SetCss(cid)
{
var obj = document.getElementById(cid);
if(document.all)
{
obj.attachEvent("onmouseover",function(){obj.className='btnRefreshOver'});
obj.attachEvent("onmouseout",function(){obj.className='btnRefresh'});
obj.attachEvent("onmousedown",function(){obj.className='btnRefreshDown'});
}else
{
obj.addEventListener("mouseover",function(){obj.className='btnRefreshOver'},false);
obj.addEventListener("mouseout",function(){obj.className='btnRefresh'},false);
obj.addEventListener("mousedown",function(){obj.className='btnRefreshDown'},false);
}
}
</script>
cpp2017 2007-12-10
  • 打赏
  • 举报
回复
这个基本上是办不到的。
IE下用htc是可以 ff是不行的。

如果一定要简化这个代码,可以用js为button动态添加事件。js做成通用函数。

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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