html - 悬停时,我的 CSS 按钮与 scale() 出现图形问题
问题描述
我的 CSS 按钮有一个问题,看起来像是图形问题。当我将鼠标悬停并将光标移出时,它看起来像是按钮错误的边框,并在按钮周围制作了一个幽灵边框。在 chrome 中它更明显,但在 Opera 中它就像发生了另一种错误。
我注意到,当我取出transition: 0.3s
问题时,问题已在 chrome 上得到解决,但我仍然需要按钮以平滑的方式缩放。
这是一个小提琴:
https://jsfiddle.net/573pxfgo/1/
:root{
--cor1:#206197;
--cor2: #35ab4a;
}
div{
padding:100px;
}
.btn2{
color:white;
padding:15px 40px;
border:2px solid white;
background-color: var(--cor1);
outline: none;
transition: 0.3s;
cursor:pointer;
}
.btn2:hover{
background-color: var(--cor2);
transform: scale(1.2);
}
<div>
<button class="btn2"> Solicitar Orçamento</button>
</div>
解决方案
您将需要添加background-clip:padding-box
到您的.btn2
类中,以便元素的填充容器内的背景剪辑。目前,您看到的边界非常细的边界颜色与您的背景颜色相同,这是因为默认情况下background-clip:border-box
已应用。
您可以从MDN阅读更多相关信息
:root{
--cor1:#206197;
--cor2: #35ab4a;
}
div{
padding:100px;
}
.btn2{
color:white;
padding:15px 40px;
border:2px solid white;
background-color: var(--cor1);
outline: none;
transition: 0.3s;
cursor:pointer;
background-clip:padding-box;
}
.btn2:hover{
background-color: var(--cor2);
transform: scale(1.2);
}
<div>
<button class="btn2"> Solicitar Orçamento</button>
</div>
推荐阅读
- .htaccess - htaccess 中的 ^([^.?]+)$ 和 ^(\w+)$ 重写规则说明
- c++ - 模拟概念和约束的推荐方法是什么?
- r - 在 R 中的面板线性模型(回归)中添加虚拟变量
- python - 使用连续隐马尔可夫模型的时间序列预测步骤
- django - 将自己分组的排名系统使用什么数据结构?
- javascript - 选择器是比类方法更好的获取计算数据的方法吗?
- javascript - 如何从 XHR 请求响应字符串转换/解码 base64
- javascript - json字符串化重复键
- c - 如何使用内联汇编(NASM)进行文件 I/O
- node.js - 在 Promise 函数中使用 Update 方法时,Mongoose 有时会跳过向 DB 添加数据