我现在让过渡工作,它正在对悬停进行缓入-出,但只要我离开div容器,它就会迅速恢复到其原始状态(没有二次曲线渐变边界),没有过渡.我应该怎么做才能解决这个问题?

我try 将转换设置为div类本身,然后try 将转换应用于伪之前的:.转换前的::只在div容器上悬停时起作用,而不是在我离开div容器时起作用.附加到代码截图图像的链接.

我网站的链接是matthewcwolfe.com

.wp-block-group.has-base-background-color.has-background.is-layout-flow.wp-container-7.wp-block-group-is-layout-flow::before {

content:"";
position: absolute;
inset: 0;
transition: all .2s ease-in-out;
opacity: 0;

}

.wp-block-group.has-base-background-color.has-background.is-layout-flow.wp-container-7.wp-block-group-is-layout-flow:hover::before {

background: conic-gradient(from 90deg at 40% -25%, #ffd700, #f79d03, #ee6907, #e6390a, #de0d0d, #d61039, #cf1261, #c71585, #cf1261, #d61039, #de0d0d, #ee6907, #f79d03, #ffd700, #ffd700, #ffd700);
transform: translate3d(0,0,-1px);
filter: blur(10px);
clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax 100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,0 0);  
opacity: 1;

}

推荐答案

问题是,backgroundclip-path最初并没有设置为非悬停状态.因此,当你悬停时,它会过渡到渐变背景和剪裁形状,但当你移除悬停时,它没有什么可以过渡到的(因此立即消失).

只需将相同的backgroundclip-path复制到非悬停状态,即可修复此问题.这应该很好,因为你无论如何都是从0不透明度过渡到1不透明度.我在您的网站上使用DevTool进行了测试,它似乎起作用了.

.wp-block-group.has-base-background-color.has-background.is-layout-flow.wp-container-7.wp-block-group-is-layout-flow::before {

content:"";
position: absolute;
inset: 0;
transition: all .2s ease-in-out;
opacity: 0;
/* SAME BACKGROUND ON NON-HOVER */
background: conic-gradient(from 90deg at 40% -25%, #ffd700, #f79d03, #ee6907, #e6390a, #de0d0d, #d61039, #cf1261, #c71585, #cf1261, #d61039, #de0d0d, #ee6907, #f79d03, #ffd700, #ffd700, #ffd700);
/* SAME CLIP-PATH ON NON-HOVER */
clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax 100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,0 0); 

}

.wp-block-group.has-base-background-color.has-background.is-layout-flow.wp-container-7.wp-block-group-is-layout-flow:hover::before {

background: conic-gradient(from 90deg at 40% -25%, #ffd700, #f79d03, #ee6907, #e6390a, #de0d0d, #d61039, #cf1261, #c71585, #cf1261, #d61039, #de0d0d, #ee6907, #f79d03, #ffd700, #ffd700, #ffd700);
transform: translate3d(0,0,-1px);
filter: blur(10px);
clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax 100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,0 0);  
opacity: 1;
}

编辑:事实上,您不妨将backgroundclip-path从悬停状态中移除,并保持非悬停状态,因为它们根本不会改变.重要的是filteropacity的过渡是正确的.

Html相关问答推荐

传单自定义标记(divIcon)html/css不适用

纯CSS语音气泡与半透明背景和边框

有没有可能设置div的边框宽度相对于其父宽度和高度?'

如何使用bslb设置可导航页面侧边栏的样式

首字下沉非字母字符

VBA从公共Google Drive地址下载文档-.Click事件(?)

无法从路径参数获取ID

在移动屏幕上显示时分支树视图的响应能力问题

jquery向单词中的一组字母添加跨度

如何使用javascript在jsx中重复插入特殊字符?

如何将 HTML DateTime 转换为 Golang Time 对象

有没有办法在 Flutter 中创建这个浮动标签表单?

如何并排放置部分?

如何并排放置
的定义列表,但如果
变长,
会向下移动?

如何通过可见文本使用 Selenium 定位元素

在 React (NEXT) 中,当我try 进行动态补充时,我无法使用实例this来引用输入

本地 css 样式表未链接

尽管设置了 width:100% left:0,但居中对齐的 CSS 动画并不对称

在 EJS 中将元素放置在彼此下方的列中

如何计算没有根元素的先前 html 标记(lxml python3)编辑:还获取元素