将样式设置为 div 其中包含 TextInput 字段
set styling to div which contain TextInput field
我是新手,material ui。我正在使用 material ui 版本“1.0.0-beta.17”并响应 15.6.2。还有 styled-components 2.0.0 和 styled-components-breakpoint 1.0.1.
我在 div 元素中有两个 TextInput 字段。
const mycomponent = ({props}) => {
<div>
<SomeComponent />
<div>
<TextInput id="testId1" />
<TextInput id="testId2" />
</div>
</div>
}
现在,当它呈现时,它会向每个输入字段添加额外的父项 div
像这样,
<div>
<div class="field--testId1">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId1">
</div>
</div>
<div class="field--testId2">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId2">
</div>
</div>
</div>
现在我如何定位到 div 以应用具有 class 名称字段--testId1、字段--testId2 的样式。
这里classname是默认生成materialui,
例如
.field--testId2{
width: "48%",
float: "left"
}
.field--testId2{
width: "48%",
float: "left"
}
我正在学习 React 和 material ui 所以非常感谢任何帮助。
您将 class 直接提供给您的文本字段组件,您可以添加自定义样式。
<TextInput className="your-class" id="testId1" />
为了覆盖现有的 class,您可以添加样式组件包装器而不是包装器 div 并覆盖子组件 classes:
const TextInputWrapper = styled.div`
.field--testId2 {
// your custom styling
}
`
<TextInputWrapper>
<TextInput id="testId1" />
<TextInput id="testId2" />
</TextInputWrapper>
如果您想要定位 div
其中有 input
,您可以按照以下步骤操作
- 向父 div 添加 class,假设
wrapper
- 使用
>
css selector
定位最近的 div
.wrapper > div {
border: 1px solid red;
width: 48%;
float: left;
margin-left: 1%;
}
input {
width: 100%;
box-sizing: border-box;
}
<div class="wrapper">
<div class="field--testId1">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId1">
</div>
</div>
<div class="field--testId2">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId2">
</div>
</div>
</div>
你应该使用 @material-ui/styles to extend your component's styles. Take a like at this answer, it's similar to your case: 。这是一个例子:
您应该使用 @material-ui/styles
来扩展您的文本字段样式,如下所示:
import React from 'react';
import { makeStyles, TextField } from '@material-ui/core';
const useStyles = makeStyles({
textField: {
border: 0,
borderRadius: 3,
padding: '0px 30px',
// Other styles here...
},
});
export default function MyComponent() {
const classes = useStyles();
return (
<div>
<TextField
size="large"
variant="outlined"
label="A text field title"
className={classes.textField}
/>
</div>
);
}
在此 link 了解有关文档的更多信息:@material-ui.com/styles
我是新手,material ui。我正在使用 material ui 版本“1.0.0-beta.17”并响应 15.6.2。还有 styled-components 2.0.0 和 styled-components-breakpoint 1.0.1.
我在 div 元素中有两个 TextInput 字段。
const mycomponent = ({props}) => {
<div>
<SomeComponent />
<div>
<TextInput id="testId1" />
<TextInput id="testId2" />
</div>
</div>
}
现在,当它呈现时,它会向每个输入字段添加额外的父项 div 像这样,
<div>
<div class="field--testId1">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId1">
</div>
</div>
<div class="field--testId2">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId2">
</div>
</div>
</div>
现在我如何定位到 div 以应用具有 class 名称字段--testId1、字段--testId2 的样式。 这里classname是默认生成materialui, 例如
.field--testId2{
width: "48%",
float: "left"
}
.field--testId2{
width: "48%",
float: "left"
}
我正在学习 React 和 material ui 所以非常感谢任何帮助。
您将 class 直接提供给您的文本字段组件,您可以添加自定义样式。
<TextInput className="your-class" id="testId1" />
为了覆盖现有的 class,您可以添加样式组件包装器而不是包装器 div 并覆盖子组件 classes:
const TextInputWrapper = styled.div`
.field--testId2 {
// your custom styling
}
`
<TextInputWrapper>
<TextInput id="testId1" />
<TextInput id="testId2" />
</TextInputWrapper>
如果您想要定位 div
其中有 input
,您可以按照以下步骤操作
- 向父 div 添加 class,假设
wrapper
- 使用
>
css selector
定位最近的 div
.wrapper > div {
border: 1px solid red;
width: 48%;
float: left;
margin-left: 1%;
}
input {
width: 100%;
box-sizing: border-box;
}
<div class="wrapper">
<div class="field--testId1">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId1">
</div>
</div>
<div class="field--testId2">
<div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
<input id="testId2">
</div>
</div>
</div>
你应该使用 @material-ui/styles to extend your component's styles. Take a like at this answer, it's similar to your case: 。这是一个例子:
您应该使用 @material-ui/styles
来扩展您的文本字段样式,如下所示:
import React from 'react';
import { makeStyles, TextField } from '@material-ui/core';
const useStyles = makeStyles({
textField: {
border: 0,
borderRadius: 3,
padding: '0px 30px',
// Other styles here...
},
});
export default function MyComponent() {
const classes = useStyles();
return (
<div>
<TextField
size="large"
variant="outlined"
label="A text field title"
className={classes.textField}
/>
</div>
);
}
在此 link 了解有关文档的更多信息:@material-ui.com/styles