javascript - 一个关于hover属性有趣的问题(一个小坑),求解释
ringa_lee
ringa_lee 2017-04-11 11:44:31
[JavaScript讨论组]

需求是,给一个table表格的tr添加hover效果,过年前是将background-color属性加在<tr>上,结果hover效果只有三边,当时百思不得骑姐。但是年后的我把background-color属性加在<tbody>上时,居然可以了。


我总结了下,也就是说,如果要实现这种列表式的悬浮阴影效果,首先是和background-color有关(我之前一直以为是和border属性有关),其次这个background-color需要加在父级元素上,而不是需要浮动的元素本身。

演示示例

请大神解释下这是为什么

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
PHP中文网

我感觉应该还是样式所在元素的“层级”关系导致的。

比如你将background加给td.并保证td之间有间距,可以看到阴影效果被'弟'元素中td的背景挡住了。
“层级”低的元素的样式无法覆盖“层级”高的元素的样式。
上面说的是兄元素和弟元素的子元素。
然后相邻元素的“层级”应该也是后面的高。

大家讲道理

嗯 答案差不多。只是 “样式覆盖” 听着怪,也有问题。

HTML 中靠后的元素会盖住前面的元素,如果没有position`z-index`参与影响的话。故三边。不为元素定义background,则其无背景(透明),故展示正常。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号