【问题标题】:How to make responsive component?如何制作响应式组件?
【发布时间】:2019-01-16 05:04:56
【问题描述】:

我为主要内容创建了三个子组件(不包括标题和标题)

所以第一个组件没有响应。

代码如下:

<div className="row" style={{marginTop:'30px',}}>
        <div className="col-sm-12 col-md-12 col-lg-12">
        <div className="col-sm-3 col-md-3 col-lg-3" style={{display:'-webkit-inline-box', padding:'0px',}}>
            <label style={{backgroundColor: '#ffffff',margin: '5px 10px 5px 5px', position:'relative', float:'left',}} htmlFor="Airport_List">Airport :</label>
            <select value={this.state.airport} onChange={this.handleAirportChange} className="form-control" style={{width:'140px'}}>
            <option value="London">London</option>
            <option value="Houston">Houston</option>
            <option value="California">California</option>
            <option value="New Delhi">New Delhi</option>
            <option value="Moscow">Moscow</option>
            </select> 

        </div> 

        <div className="col-sm-3 col-md-3 col-lg-3" style={{display:'-webkit-inline-box', padding:'0px',}}>

            <span className="fa fa-plane" style={{padding:'5px',fontSize:'20px',}}></span>
            <label style={{backgroundColor: '#ffffff',margin: '5px 10px 5px 5px',}} htmlFor="Flight No">Flight :</label>
            <input style={{
            width:'150px',
            margin: '0',
            outline: '0',
            border: '1px solid #e6ecf0',
            padding:'5px',
            borderRadius: '3px',backgroundColor:'#ffffff',color: 'rgb(158, 158, 158)',}} onChange={this.handleFlightChange}  type="text" id="flightNo" name="flight_no" className="form__input" placeholder="Flight NO"  required/>

        </div>

        <div className="col-sm-3 col-md-3 col-lg-3">

            <div style={{float:'right', display:'-webkit-inline-box',margin:'5px',}}>

            <label style={{backgroundColor: '#ffffff',margin: '5px 6px 5px 5px',}} htmlFor="Date">Date :</label>
            <div className='input-group date' id='datetimepicker8' style={{left:'12px',}}>
            <DateTimePicker 
              onChange={this.onDateChange}
              value={this.state.date}
              minDate={new Date()} 
              name="datetime"

            />
            </div>
            </div> 
        </div>
        <div className="col-sm-2 col-md-2 col-lg-2">

          <Button variant="contained" color="primary" style={{width:'100px', fontSize:'12px'}} onClick={this.handleSubmit}>
               Fetch
          </Button>

         </div>

         <div className="col-sm-1 col-md-1 col-lg-1">

            <div style={{position:'relative', bottom: '10px',}}>
           <Fab color={this.state.color} onClick={()=>this.RecordAudio(this.state.color)}>
             {this.state.icon}
           </Fab>
           </div> 

         </div> 

        </div>

对于日期,我使用了 react-datetime-picker(Link)

所以在全屏时它是这样的

但如果缩小浏览器屏幕,它会变成这样:

这在以前从未发生过。

【问题讨论】:

  • 能否提供jsfiddle链接?
  • 是的。请提供 jdfiddle 链接。我们无法复制它。谢谢
  • @NirajKaushal 我已经发送了 jsx 的所有代码,但我仍然尝试在此处复制 jsfiddle 链接中的整个组件jsfiddle.net/mohammadkhan01/umx8d3fg
  • @XenioGracias 我已经给出了上面 jsfiddle 的链接
  • @NirajKaushal 你试过了吗?

标签: css reactjs responsive-design


【解决方案1】:

确保您拥有适当版本的引导程序,并确保您的头脑中有此元标记

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

【讨论】:

    【解决方案2】:

    我重构了你的代码,如下所示

    <div className="row" style={{marginTop:'30px',}}>
        <div className="col-sm-6 col-md-3 col-lg-3" style={{display:'-webkit-inline-box', padding:'0px',}}>
            <label style={{backgroundColor: '#ffffff',margin: '5px 10px 5px 5px', position:'relative', float:'left',}} htmlFor="Airport_List">Airport :</label>
            <select value={this.state.airport} onChange={this.handleAirportChange} className="form-control" style={{width:'140px'}}>
              <option value="London">London</option>
              <option value="Houston">Houston</option>
              <option value="California">California</option>
              <option value="New Delhi">New Delhi</option>
              <option value="Moscow">Moscow</option>
            </select>
        </div>
    
        <div className="col-sm-6 col-md-3 col-lg-3" style={{display:'-webkit-inline-box', padding:'0px',}}>
          <span className="fa fa-plane" style={{padding:'5px',fontSize:'20px',}}> </span>
          <label style={{backgroundColor: '#ffffff',margin: '5px 10px 5px 5px',}} htmlFor="Flight No">Flight :</label>
          <input style={{
            width:'150px',
            margin: '0',
            outline: '0',
            border: '1px solid #e6ecf0',
            padding:'5px',
            borderRadius: '3px',backgroundColor:'#ffffff',
            color: 'rgb(158, 158, 158)',}}  
            onChange={this.handleFlightChange}  
            type="text" 
            id="flightNo" 
            name="flight_no" 
            className="form__input" 
            placeholder="Flight NO"  required/>
        </div>
    
        <div className="col-sm-6 col-md-3 col-lg-3">
    
        <div style={{float:'right', display:'-webkit-inline-box',margin:'5px',}}>
    
            <label style={{backgroundColor: '#ffffff',margin: '5px 6px 5px 5px',}} htmlFor="Date">Date :</label>
            <div className='input-group date' id='datetimepicker8' style={{left:'12px',}}>
              <DateTimePicker
                onChange={this.onDateChange}
                value={this.state.date}
                minDate={new Date()}
                name="datetime"
              />
            </div>
          </div>
        </div>
    
        <div className="col-sm-4 col-md-2 col-lg-2">
          <Button variant="contained" color="primary" style={{width:'100px', fontSize:'12px'}} onClick={this.handleSubmit}>Fetch</Button>
        </div>
    
        <div className="col-sm-2 col-md-1 col-lg-1">
          <div style={{position:'relative', bottom: '10px',}}>
            <Fab
              color={this.state.color}
              onClick={() => this.RecordAudio(this.state.color)}
            >{this.state.icon}</Fab>
          </div>
        </div>
    </div>
    

    如果您不使用,请添加Rishab建议的meta tag

    【讨论】:

    • 我已经在index.html文件中添加了&lt;meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"&gt;也使用了Rishab提供的meta标签
    猜你喜欢
    • 2020-01-24
    • 1970-01-01
    • 2015-04-23
    • 2021-10-04
    • 2021-08-20
    • 2019-07-15
    • 2020-07-25
    • 2016-12-25
    • 2016-06-13
    相关资源
    最近更新 更多