样式化组件语义工具包(表单。输入)

IT技术 reactjs semantic-ui styled-components
2021-05-21 21:34:39

您好,我想知道如何使用表单的样式组件更改 css。语义输入

我在胡佛上需要这样的东西:

在此处输入图片说明

但是我无法更改输入的背景颜色以及默认情况下的边框颜色

and hover:
export const FormCustom = styled(Form)`
&&& {
    background: #000;
}
`
export const FormInput = styled(Form.Input)`
&&& {
    color: red;
    background: transparent;
}
`

尝试但无济于事

export const FormInput = styled(Form.Input)`
&&& {
    color: red;
    background: transparent;
}
`

我的表格:

<FormCustom size='large'>
        <Segment basic>
          <FormInput fluid icon='user' iconPosition='left' placeholder='E-mail address' />
          <FormInput
            fluid
            icon='lock'
            iconPosition='left'
            placeholder='Password'
            type='password'
          />

          <Button color='teal' fluid size='large'>
            Login
          </Button>
        </Segment>
      </FormCustom>

代码:https : //codesandbox.io/s/fast-morning-hq5zq

2个回答

您可以使用&:hover来定义悬停。

   export const FormInput = styled(Form.Input)`
      border: 1px solid transparent;
      &:hover {
        border:1px solid #ff0000;
        border-radius:5px;
      }
    `;

临时样本沙箱

请参考这个例子链接:codeandbox

我已经更新了 CSS 属性并使用 styled-component 对表单控件的悬停产生了影响。目前,我只是根据您分享的图像设置颜色代码,因此您可以将其更改为您想要的颜色代码。

现在在悬停输入控件和图标颜色上,两者都根据您的要求进行了更改。

您需要更新样式组件如下

export const FormInput = styled(Form.Input)`
  border: 2px solid red;
  border-radius: 0.28571429rem;
  background: transparent;
  -webkit-box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
  input {
     border: none !important;
  }
  &:hover {
    border: 2px solid #7159c1;
    background: #333;
    i {
      color: #7159c1;
    }
  }
  &:focus {
    color: #000;
    border-color: #000;
    border-radius: 0.28571429rem;
    background: transparent;
    -webkit-box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
    box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;
  }
`;