font-awesome 图标 - onmouseover 事件改变颜色
font-awesome icon - onmouseover event change color
我有一个 ASP.NET gridview 控件,在最后一列中有一个字体很棒的垃圾桶图标。
On mouseover 我希望颜色变为红色,然后再次恢复默认 onmouseout.
这是 asp.net 网格视图中的 template field
:
<asp:TemplateField HeaderText="Delete?" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<span ID="lnkDelete" style="border:none" onclick="return confirm('Are you sure you want to delete this Performance Review?')"
runat="server" ItemStyle-CssClass="fa fa-trash-0"
onmouseover="this.style='color:red;'"
CommandName="Delete">
<i class="fa fa-trash-o" onmouseover="script:this.style='color:red; font-size:24px'" onmouseout="script:this.style='color:black; font-size:24px'"
style="font-size:24px;"></i>
</span>
</ItemTemplate>
</asp:TemplateField>
在 IE 中呈现为
<span id="ctl00_m_g_10488b48_1486_45be_8a9c_efc307c0cb4b_ctl00_grdPR_ctl04_lnkDelete" style="border: currentColor;"
onclick="return confirm('Are you sure you want to delete this Performance Review?')" CommandName="Delete" ItemStyle-CssClass="fa fa-trash-0">
<i class="fa fa-trash-o" style="font-size: 24px;" onmouseover="script:this.style='color:red; font-size:24px'"></i>
</span>
但我显然弄错了,因为当我将鼠标悬停在垃圾桶图标上时没有任何变化。
我也试过在我的页面中使用 css hover
样式,但还是没有任何反应:
<style>
.fa fa-trash-o{
color: black
}
.fa fa-trash-o:hover{
color:red;
}
</style>
所以我哪里错了?
请参阅下面的代码,您在 fa-trash-o
class 之前忘记了 .
:
css 中的选择器:https://www.w3schools.com/cssref/css_selectors.asp
.fa-trash-o{
color: black
}
.fa-trash-o:hover{
color:red;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<span>
<i class="fa fa-trash-o" style="font-size: 24px;"></i>
</span>
您只需 CSS 即可实现。问题是您在 css 中使用了错误的选择器。 fa
和 fa-trash-o
类 在同一元素中。所以你需要删除 fa
和 fa-trash-o
之间的 space 并将 .
放在它们之前,因为它们是 类
.fa.fa-trash-o {
color: black
}
.fa.fa-trash-o:hover {
color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<i class="fa fa-trash-o"></i>
我有一个 ASP.NET gridview 控件,在最后一列中有一个字体很棒的垃圾桶图标。
On mouseover 我希望颜色变为红色,然后再次恢复默认 onmouseout.
这是 asp.net 网格视图中的 template field
:
<asp:TemplateField HeaderText="Delete?" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<span ID="lnkDelete" style="border:none" onclick="return confirm('Are you sure you want to delete this Performance Review?')"
runat="server" ItemStyle-CssClass="fa fa-trash-0"
onmouseover="this.style='color:red;'"
CommandName="Delete">
<i class="fa fa-trash-o" onmouseover="script:this.style='color:red; font-size:24px'" onmouseout="script:this.style='color:black; font-size:24px'"
style="font-size:24px;"></i>
</span>
</ItemTemplate>
</asp:TemplateField>
在 IE 中呈现为
<span id="ctl00_m_g_10488b48_1486_45be_8a9c_efc307c0cb4b_ctl00_grdPR_ctl04_lnkDelete" style="border: currentColor;"
onclick="return confirm('Are you sure you want to delete this Performance Review?')" CommandName="Delete" ItemStyle-CssClass="fa fa-trash-0">
<i class="fa fa-trash-o" style="font-size: 24px;" onmouseover="script:this.style='color:red; font-size:24px'"></i>
</span>
但我显然弄错了,因为当我将鼠标悬停在垃圾桶图标上时没有任何变化。
我也试过在我的页面中使用 css hover
样式,但还是没有任何反应:
<style>
.fa fa-trash-o{
color: black
}
.fa fa-trash-o:hover{
color:red;
}
</style>
所以我哪里错了?
请参阅下面的代码,您在 fa-trash-o
class 之前忘记了 .
:
css 中的选择器:https://www.w3schools.com/cssref/css_selectors.asp
.fa-trash-o{
color: black
}
.fa-trash-o:hover{
color:red;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<span>
<i class="fa fa-trash-o" style="font-size: 24px;"></i>
</span>
您只需 CSS 即可实现。问题是您在 css 中使用了错误的选择器。 fa
和 fa-trash-o
类 在同一元素中。所以你需要删除 fa
和 fa-trash-o
之间的 space 并将 .
放在它们之前,因为它们是 类
.fa.fa-trash-o {
color: black
}
.fa.fa-trash-o:hover {
color: red;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<i class="fa fa-trash-o"></i>