Material UI Button 移除焦点框

Soc*_*tes 10 sass typescript material-ui

有没有办法移除 Material UI 按钮的焦点框?

我尝试添加一个CSS类.focusframebox-shadow: none,但是这似乎并没有删除对焦框。单击时,该按钮将保留此红色焦点框。

带有按钮渲染的 TypeScript 类:

export class App extends React.Component<AppProps, AppState> {
    public componentDidMount() {
        this.setState({sessionLoaded: true});
    }

    public render() {
        if (this.state) {
            return <div>
                <Button className='focusframe' onClick={() => console.log("Material UI Button clicked!")} color='primary' variant='contained'>Click Me!</Button>
            </div>;
        } else {
            return <div>State not yet accessible.</div>;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

SCSS 类:

@import "~bootstrap/scss/bootstrap";
@import "_colors.scss";

body {
    background-color: $body-color-base;
    color: $body-color-font;

    .focusframe {
        box-shadow: none;
    }
}
Run Code Online (Sandbox Code Playgroud)

点击按钮前:

在此处输入图片说明

点击按钮后:

在此处输入图片说明

编辑1:

按钮的 HTML:

<div>
  <button class="MuiButtonBase-root MuiButton-root MuiButton-contained focusframe MuiButton-containedPrimary" tabindex="0" type="button">
    <span class="MuiButton-label">
      Click Me!
    </span>
    <span class="MuiTouchRipple-root">
    </span>
  </button>
</div>
Run Code Online (Sandbox Code Playgroud)

SCSS 文件 _colors.scss:

$body-color-base: #343a40;
$body-color-font: #dddddd;
Run Code Online (Sandbox Code Playgroud)

编辑2:

如果我全局设置它,这会起作用:

*:focus {
    outline: none !important;
}
Run Code Online (Sandbox Code Playgroud)

但是如果我将它设置为.focusframe类,它就不起作用:

@import "~bootstrap/scss/bootstrap";
@import "_colors.scss";

body {
    background-color: $body-color-base;
    color: $body-color-font;

    .focusframe {
        :focus {
            outline: none;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Van*_*jx1 20

通过 CSS禁用大纲

*:focus {
    outline: none;
}
Run Code Online (Sandbox Code Playgroud)

根据您的编辑,您的 css 选择器是错误的:

body {
    background-color: $body-color-base;
    color: $body-color-font;

    .focusframe {
        &:focus { <--- & here
            outline: none;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)