ReactJS:尽管渲染了新元素,如何将元素固定到当前位置?

时间:2016-09-10 08:00:40

标签: javascript html css reactjs react-jsx

我有<h1/><input/>个元素,输入文字后,<button/>会出现/呈现

1 个答案:

答案 0 :(得分:0)

虽然您可能需要根据整个HTML结构和CSS样式进行一些更改,但您可以

<div style={{display: 'flex', flexDirection: 'column', alignItems: 'center'}}>

    <div>
        <h1>Do Not Move Me</h1>
        <input
        placeholder='Enter Name'
        onChange={this._displayButton}
        value={this.state.nameText}
        />
    </div>

    <div>
    {this.state.textEntered ?
        <button
        type="submit"
        />
        : null
    }
    </div>

</div>

我所做的主要更改是将 flexDirection row更改为column,这使得div children / sub div显示在彼此之下而不是彼此相邻。

编辑:

<div style={{display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'flex-start'}}>

添加了justifyContent属性。

编辑2:

<div style={{display: 'flex', flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }}>

    <h1>Do Not Move Me</h1>

    <div style={{ position: 'relative', marginLeft: 20 }}>

        <input
        placeholder='Enter Name'
        onChange={this._displayButton}
        value={this.state.nameText}
        />
        {this.state.textEntered ?
            <button type="submit" style={{ position: 'absolute', top: '-10px', right: '-10px', borderRadius: '50%', height: 40, width: 40, backgroundColor: '#881587', border: 'none' }} /> : null
        }

    </div>

</div>

您必须编辑button样式,使其看起来像您想要的那样。