javascript - 在子元素上应用悬停效果

标签 javascript html css

我有一个工具栏(用于文本编辑器),其中包含以下 HTML:

        <table class="toolbar" cellspacing="0" cellpadding="0" border="0" style="width:602px;">
             <tbody>
                 <tr>
                  <td>

    <img id="bold" class="bold" width="20" height="20" border="0"  onclick="toolbarjewels(this) ; formatText(this.id);" title="Bold"  src="/assets/img_trans.gif"/>
                  </td>
<td>
...
</td>

        </tbody>
        </table>

我的 CSS 是这样的:

.bold{
background: url(/assets/question_add_sprites.png)  -12px -20px  ;
width: 18px;
height: 24px;
padding-right : 0px ; 
cursor : pointer ; 
align:middle; 
}

/*For hover */
.toolbar td:hover{
   background-color : #DCDCDC ; 
}
.bold:hover{
   background: #DCDCDC url(/assets/question_add_sprites.png) -63px -19px ;
}

在此实现中,<td>当鼠标悬停在上面时,中间的图像从正常颜色(白色)变为灰色(#DCDCDC)。但是,除非鼠标恰好位于图像上方,否则不会触发图像悬停类。有没有办法对子元素(在本例中为图像)也应用悬停规则?

这是预期的行为:

没有悬停: 背景:白色 图片:灰色

悬停: 背景:灰色 图片:白色

最佳答案

如果我理解你的问题,你想要这个:

.toolbar td:hover {
   background-color : #DCDCDC ; 
}
.toolbar td:hover .bold{
   background: #DCDCDC url(/assets/question_add_sprites.png) -63px -19px ;
}

当鼠标悬停在 td 上时,.bold 图像的背景发生变化。

关于javascript - 在子元素上应用悬停效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164575/

相关文章:

javascript - 单击 DIV 内的 IFRAME 时删除 DIV 元素

html - HTML/CSS 中文本和图像 block 旁边的列表

html - CSS 下拉菜单是水平的而不是垂直的

CSS float left div 以较小的屏幕分辨率位于下方

javascript - 如何防止这个用空格替换连字符的正则表达式也用额外的连字符替换连字符?

javascript - 断言selenium webdriver Node js

javascript - 用 Canvas 绘图时如何在两点之间进行插值?

python - HTML <li> 有什么限制吗?

javascript - 使用 parseFloat Sanitize 或其他方法清理变量输出值问题

带有悬停的 CSS 菜单