加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

javascript – 真的很奇怪的盒子阴影转换错误

发布时间:2020-12-14 22:40:24 所属栏目:资源 来源:网络整理
导读:所以最近我偶然发现了一个非常奇怪的错误,转换了一个盒子阴影 当鼠标悬停在div上时,会应用带阴影的阴影(黑色,5px展开). 当使用光标离开div时,box-shadow spread再次设置为0px. 奇怪的是:当div显示为基于%的定位(例如左:1%)时,框阴影不会被正确清除.一些

所以最近我偶然发现了一个非常奇怪的错误,转换了一个盒子阴影……

当鼠标悬停在div上时,会应用带阴影的阴影(黑色,5px展开).
当使用光标离开div时,box-shadow spread再次设置为0px.

奇怪的是:当div显示为基于%的定位(例如左:1%)时,框阴影不会被正确清除.一些遗留物仍然可见 – 参见JSFiddle中的红色div.

它变得更奇怪:剩下的盒子阴影的位置和形状各不相同.它似乎与屏幕宽度有某种关系.在JSFiddle中,只需移动垂直调整大小栏并再次悬停…

JSFiddle

CSS

.a,.b,.c,.d {
    margin: 5px;
    width: 100px;
    height: 100px;
    transition: box-shadow 0.2s linear;
    box-shadow: 0 0 0 0 black;
    position: relative;
}
.a,.b {
    background-color: #6c6;
}
.c,.d {
    background-color: #c66;
}
.b {
    left: 50px;
}
.c {
    left: 1%;
}
.d {
    left: 2%;
}
.a:hover,.b:hover,.c:hover,.d:hover {
    box-shadow: 0 0 0 5px black;
}

HTML

我在这里遗漏了什么或这是一个错误吗?

PS:Chrome和Opera中存在此行为. Firefox似乎没有这个bug

最佳答案
通过添加transform:translate3d(0,0);对于元素,bug似乎消失了(这叫做null transform hack)

07001

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读