删除焦点上的 SweetAlert 按钮轮廓

Remove SweetAlert button outline on focus

我在我的 nodeJS 项目上使用 SweetAlert,它的工作非常棒,除了当我显示确认模式时它将焦点设置到确认按钮并且它得到这个糟糕的轮廓.

事情是这样的:

这就是我想要的样子:

我已经尝试覆盖它的样式并将大纲设置为 none,但没有成功:

.sweet-alert button.confirm {
  outline: none !important; }

我也试过用这种风格去掉任何轮廓:

*:focus, *:active {
outline: 0 !important; }

这是我用来触发 SweetAlert 模式的代码:

swal({ title: "Confirmation", 
               text: "Are you sure you want to remove this credit card?", 
               showCancelButton: true,
               confirmButtonText: "Yes, remove it", 
               closeOnConfirm: true }, 
               doRemoveCard);

这是 sweetalert.min.js 中设置焦点的代码片段:

a=o.querySelector("button.confirm");a.focus()

关于如何去掉这个轮廓有什么想法吗?

.class:focus { overflow: hidden; }

将 "class" 替换为您需要的 class

实际上 .class 是可选的,您需要使用按钮 class 进行更改,例如 .sweet-alert button.confirm 使用检查元素工具找到 class 并将其焦点概览设置为隐藏在您的自定义 css.

这应该有帮助:

.sweet-alert button:focus {
     box-shadow: none;
}

这个问题最初发布于 2 年前,但对于那些在最新版本 (2.1.x) 中寻找解决方案的人,请使用:

.swal-button:focus {
  box-shadow: none;
}

你可以试试 sweetalert2 v7.x.x

.swal2-popup .swal2-styled:focus { box-shadow: none !important; }

使用 SweetAlert2 版本 8.0.5,您可能希望在 css 文件中添加全局 :focus 以防止出现蓝色轮廓

:focus {
    outline: none;
}

这对我有用。

使用伪类 :focus 的特定选择器去除 SweetAlert X 关闭按钮中的轮廓(框阴影),并应用这些属性。只使用 :focus 是通用的,避免它,试试这个特定的 css 规则。

.swal2-close:focus {
    box-shadow: none !important;
}