css - 是否可以从插入框阴影过渡到常规框阴影?
问题描述
脱离上下文这可能没有意义,但我正在做一些我希望有一个插入框阴影转换为正常框阴影的东西。过渡在没有插图的情况下有效,但会中断。可能与否?
.foo{
height: 20rem;
width: 20rem;
box-shadow: inset 4px 0px 4px grey,
inset -4px 0px 4px grey;
background: cornsilk;
&:hover{
box-shadow: 1px 9px 4px 9px grey;
transition: box-shadow 1s;
}
}
解决方案
box-shadow inset 到常规的直接转换是不可能的。但是,有一种技巧可以产生更接近的效果。
考虑以下CSS:
.foo {
width: 50px;
height: 50px;
border: 1px solid #aaa;
box-shadow: inset 0 0 10px #aaa;
animation: boxShadowOut 1s;
}
.foo:hover {
box-shadow: 0 0 10px #aaa;
animation: boxShadowIn 1s;
}
@keyframes boxShadowIn {
0% { box-shadow: inset 0 0 10px #aaa; }
50% { box-shadow: none; }
100% { box-shadow: 0 0 10px #aaa; }
}
@keyframes boxShadowOut {
0% { box-shadow: 0 0 10px #aaa; }
50% { box-shadow: none; }
100% { box-shadow: inset 0 0 10px #aaa; }
}
<div class="foo"></div>
推荐阅读
- docker - Kubernetes certbot 独立不工作
- javascript - 解决循环依赖/ JS
- xamarin.forms - 如何获取 NavigationService 并从后门方法导航?
- c++ - 只让特定的“Fabric”类构造“Foo”类及其所有子类的实例
- google-container-registry - 将 Google Cloud Build IP 列入白名单以测试数据库连接
- jenkins - 詹金斯@script目录
- javascript - 异步函数停止同步函数
- node.js - 如何在 node.js 中获取 base64 字符串的字节长度?
- javascript - 删除文本时保留 DOM 元素位置
- python - Python如何拆分消息