我可以在 React 中使用带有 CSS 的 JSX 创建 2 列而不是 3 列
I can create 2 columns but not 3 columns using JSX with CSS in React
我只是想创建 3 列带有关联标签的文本字段。我可以轻松创建 2 列,但此代码将第三个文本字段放在下面的一行中:
<div className={styles.threecol}>
<div className={styles.col1}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Record No.</Label>
<TextField
value={this.state.Title}
disabled={true}
/>
</div>
</div>
<div className={styles.threecol}>
<div className={styles.col2}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
<div className={styles.threecol}>
<div className={styles.col3}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
</div>
</div>
</div>
CSS:
.threecol {
overflow: hidden
}
.threecol .col1 {
width: 22%
}
.threecol .col2 {
width: 22%
}
.threecol .col3 {
width: 22%
}
.threecol .col1 {
float: left;
}
.threecol .col2 {
float: none;
}
.threecol .col3 {
float: right;
}
.threecollabel {
font:'24px';
font-weight: 'bold';
display: block;
}
.threecol .co1Sm {
float: left;
width: 200px;
height: 30px;
}
我可以使用与 CSS 和 JSX 相同的技术显示两列,但不是 3 列。
这是适用于 2 列的 JSX:
<div>
<div>
<Label className={styles.questionTitle1}>Details</Label>
</div>
<div className={styles.twocol}>
<div className={styles.col1}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Record No.</Label>
<TextField
value={this.state.Title}
disabled={true}
/>
</div>
</div>
<div className={styles.twocol}>
<div className={styles.col2}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
</div>
</div>
我不想使用表格。
T
@Tom 您正在关闭 html 中的多个 div
标签。然后您将 float: none
添加到第二列样式 col2
。可能是这个问题。
.threecol .col2 {
float: left;
text-align: center;
}
我只是想创建 3 列带有关联标签的文本字段。我可以轻松创建 2 列,但此代码将第三个文本字段放在下面的一行中:
<div className={styles.threecol}>
<div className={styles.col1}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Record No.</Label>
<TextField
value={this.state.Title}
disabled={true}
/>
</div>
</div>
<div className={styles.threecol}>
<div className={styles.col2}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
<div className={styles.threecol}>
<div className={styles.col3}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
</div>
</div>
</div>
CSS:
.threecol {
overflow: hidden
}
.threecol .col1 {
width: 22%
}
.threecol .col2 {
width: 22%
}
.threecol .col3 {
width: 22%
}
.threecol .col1 {
float: left;
}
.threecol .col2 {
float: none;
}
.threecol .col3 {
float: right;
}
.threecollabel {
font:'24px';
font-weight: 'bold';
display: block;
}
.threecol .co1Sm {
float: left;
width: 200px;
height: 30px;
}
我可以使用与 CSS 和 JSX 相同的技术显示两列,但不是 3 列。 这是适用于 2 列的 JSX:
<div>
<div>
<Label className={styles.questionTitle1}>Details</Label>
</div>
<div className={styles.twocol}>
<div className={styles.col1}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Record No.</Label>
<TextField
value={this.state.Title}
disabled={true}
/>
</div>
</div>
<div className={styles.twocol}>
<div className={styles.col2}>
<div style={{width: '150px'}}>
<Label className={styles.questionTitle}>Room</Label>
<TextField
value={this.state.Room}
onChange={this._onRoomChange}
/>
<br />
</div>
</div>
</div>
</div>
</div>
我不想使用表格。
T
@Tom 您正在关闭 html 中的多个 div
标签。然后您将 float: none
添加到第二列样式 col2
。可能是这个问题。
.threecol .col2 {
float: left;
text-align: center;
}