元素的水平对齐 - Semantic-UI-react
Horizontal alignment of elements - Semantic-UI-react
解决方案:将"inline"添加到Form.Group。代码笔:https://codesandbox.io/s/88v6zl66q8
我正在 React 中设置一个语义选择表单组 UI。然而,对齐是水平的,因此单选选项浮动在输入字段上方(见附图)。
如何对齐它们?我更喜欢语义-UI 的方式,而不是编写自定义 CSS (但我愿意接受建议)。谢谢!
https://i.imgur.com/IW1imch.png
将元素放入 Grid 或 Menu 容器时,无法解决问题。
<Form.Group>
<Form.Field>
<Radio />
<Divider vertical hidden />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Input/>
</Form.Field>
</Form.Group>
我认为最简单的方法是将它们放入 display: flex
容器中,然后在其上设置 align-items: center
,如 here 所述。
不太确定,我是否明白你的意思。但为了防止单选按钮浮动在输入字段上方,您可以通过语义网格系统排列它们:
<Form>
<Grid>
<Grid.Column width={8} stretched verticalAlign="middle">
<Form.Group inline className="no-margin">
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
</Form.Group>
</Grid.Column>
<Grid.Column width={8}>
<Form.Field>
<Input
label="Anden værdi"
name="n"
type='text'
labelPosition='right'
/>
</Form.Field>
</Grid.Column>
</Grid>
</Form>
所以,你可以用verticalAlign="middle"
实现垂直对齐。
问题是,每个默认的语义字段都有边距。我们只能通过添加一个 class 并写一个额外的参数 css:
来克服这个问题
.no-margin {
margin: 0 !important;
}
解决方案:将"inline"添加到Form.Group。代码笔:https://codesandbox.io/s/88v6zl66q8
我正在 React 中设置一个语义选择表单组 UI。然而,对齐是水平的,因此单选选项浮动在输入字段上方(见附图)。
如何对齐它们?我更喜欢语义-UI 的方式,而不是编写自定义 CSS (但我愿意接受建议)。谢谢!
https://i.imgur.com/IW1imch.png
将元素放入 Grid 或 Menu 容器时,无法解决问题。
<Form.Group>
<Form.Field>
<Radio />
<Divider vertical hidden />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Radio />
</Form.Field>
<Form.Field>
<Input/>
</Form.Field>
</Form.Group>
我认为最简单的方法是将它们放入 display: flex
容器中,然后在其上设置 align-items: center
,如 here 所述。
不太确定,我是否明白你的意思。但为了防止单选按钮浮动在输入字段上方,您可以通过语义网格系统排列它们:
<Form>
<Grid>
<Grid.Column width={8} stretched verticalAlign="middle">
<Form.Group inline className="no-margin">
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
<Form.Field><Radio /></Form.Field>
</Form.Group>
</Grid.Column>
<Grid.Column width={8}>
<Form.Field>
<Input
label="Anden værdi"
name="n"
type='text'
labelPosition='right'
/>
</Form.Field>
</Grid.Column>
</Grid>
</Form>
所以,你可以用verticalAlign="middle"
实现垂直对齐。
问题是,每个默认的语义字段都有边距。我们只能通过添加一个 class 并写一个额外的参数 css:
.no-margin {
margin: 0 !important;
}