情况:
在我的Vue应用程序中,我正在使用AWS认证器来处理登录/注册。
我需要自定义样式,但这有点棘手,因为它的结构是由shadow DOM构成的。
修改变量:
到目前为止,我只能修改一些amplify变量。
这是我所做的:
:root {
--amplify-background-color: transparent;
--amplify-secondary-color: white;
--amplify-primary-contrast: white;
--amplify-primary-color: #E00C1D;
}
侧记。目标是amplify-sign-in
而不是:root
,也可以工作,但逻辑上该样式仅适用于登录表单而不适用于注册(amplify-sign-up
)表单。
自定义样式针对:root
适用于登录和注册表单。
自定义输入字段:
这就是我卡住的地方。
输入框内文本的颜色由变量--amplify-secondary-color
给出,在我的情况下需要为白色。但是这样输入框的文本在白色背景上不可见。
这是amplify-sign-in
的HTML结构。 input
位于amplify-input
内。
这是.input
类的样式。如您所见,颜色由--color
变量控制。
我的尝试:
我尝试了几种方法,但都没有成功。
我尝试过针对.input
类、input
、amplify-input
进行目标定位,或者更改--color
变量。
以下是一些尝试:
:host {
--color: red !important;
}
:host(.input) {
color: red !important;
--color: red !important;
}
amplify-input {
--color: red !important;
& .input {
color:red !important;
--color: red !important;
}
}
文档:
这是有关 CSS 自定义的文档。不幸的是,文档相当简略。
测试:
使用 Vue 设置一个工作示例最快的方法是从 amplify-js-samples 包中设置此示例:https://github.com/aws-amplify/amplify-js-samples/tree/main/samples/vue/auth/authenticator
问题:
如何修改 AWS Authenticator 的输入文本?