【问题标题】:CSS Grid layout for a form表单的 CSS 网格布局
【发布时间】:2019-10-04 16:48:19
【问题描述】:

我有一个名为 main-filter 的 div,在该 div 中,我有两个 div。现在,我想创建一个带有按钮、标签和输入的表单,我想在表单中放置两个 div,它应该看起来像下面的屏幕截图。我有 HTML 和 CSS 代码,但它不工作,无法弄清楚如何使用 CSS 网格。我也需要让它响应!我是 CSS 网格的新手,任何帮助都将不胜感激。谢谢。

.main-filter {
  display: flex;
  margin: 0px;
  padding: 20px;
  height: 90px;
  background-color: #eff0f2;
  color: #287993;
  margin-bottom: 3rem;
}

.main-header__left {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 0.3em 0.6em;
  grid-auto-flow: dense;
  align-items: center;
  float: left;
  margin-left: 250px;
  margin-right: 200px;
}

.main-header__right {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 0.3em 0.6em;
  grid-auto-flow: dense;
  align-items: center;
  float: right;
}

.filter-button1 {
  background: #38acd2;
  color: #FFFFFF;
  max-width: 380px;
  min-width: 370px;
  min-height: 35px;
  font-weight: bold;
}

input,
button {
  grid-column: 2 / 4;
  width: auto;
  margin: 0;
}

input {
  width: 370px;
  height: 30px;
  border: 1px solid #38acd2;
}
<div className="main-filter">

  <form onSubmit={this.addItem}>
    <div className="main-header__left">
      <label className="start-timestamp">Start Timestamp: </label>

      <input type="text" ref={(input4)=> this.input4 = input4} className="input-item" id="addInput3" placeholder="Ex. 2019-1-12" />
      <label className="source-ip-address">Source IP Address: </label>
      <input type="text" name="source" ref={(input1)=> this.input1 = input1} className="input-item" id="addInput3" placeholder="127.0.0.1 " />

      <label className="service">Service Name: </label>
      <input type="text" name="service" ref={(input3)=> this.input3 = input3} className="input-item" id="addInput3" placeholder="Ex. Facebook or Whatsapp *" required />


    </div>


    <div className="main-header__right">
      <label className="end-timestamp">End Timestamp: </label>
      <input type="text" ref={(input5)=> this.input5 = input5} className="input-item" id="addInput3" placeholder="Ex. 2019-1-12" />

      <label className="destinatin-ip-ddress">Destination IP Address: 
      </label>
      <input type="text" name="destination" ref={(input2)=> this.input2 = input2} className="input-item" id="addInput3" placeholder="127.0.0.1 " />


      <button type="submit" className="filter-button1">Apply 
      Filters</button>


    </div>


  </form>



</div>

css网格表格图片截图,

【问题讨论】:

    标签: css flexbox grid css-grid react-flexbox-grid


    【解决方案1】:

    尝试使用下面的代码,我已经修改了 HTML 和 CSS 代码,希望这可以帮助你达到预期的效果。

    .main-filter {
      /* margin: 0px; */
      /* padding: 20px; */
      height: 90px;
      background-color: #eff0f2;
      color: #287993;
    }
    
    form {
      display: grid;
      grid-template-columns: auto auto;
      grid-gap: 15px;
    }
    
    .main-header__left>div,
    .main-header__right>div {
      display: flex;
    }
    
    .main-header__left>div>label,
    .main-header__right>div>label {
      width: 40%;
    }
    
    @media only screen and (max-width: 500px) {
      /* .main-header__left {
        grid-area: 2 / span 1;
        grid-gap: 0;
      } */
      .main-header__right {
        grid-area: 2 / span 1;
        grid-gap: 0;
      }
    }
    
    .filter-button1 {
      background: #38acd2;
      color: #FFFFFF;
      min-height: 35px;
      font-weight: bold;
      border: none;
      margin-top: 18px;
      width: 100%;
    }
    
    input {
      width: 100%;
      height: 30px;
      border: 1px solid #38acd2;
    }
    <div className="main-filter">
    
      <form onSubmit={this.addItem}>
        <div class="main-header__left">
          <div>
            <label class="start-timestamp">Start Timestamp: </label>
            <input type="text" />
          </div>
          <div>
            <label className="source-ip-address">Source IP Address: </label>
            <input type="text" name="source" />
          </div>
          <div>
            <label className="service">Service Name: </label>
            <input type="text" name="service" />
          </div>
        </div>
    
        <div class="main-header__right">
          <div>
            <label className="end-timestamp">End Timestamp: </label>
            <input type="text" />
          </div>
          <div>
            <label className="destinatin-ip-ddress">Destination IP Address:</label>
            <input type="text" name="destination" />
          </div>
    
          <div>
            <label></label>
            <button type="submit" class="filter-button1">Apply Filters</button>
          </div>
          
        </div>
        
      </form>
    </div>

    【讨论】:

      猜你喜欢
      • 2018-03-30
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 2014-01-18
      • 2017-12-14
      • 2020-06-30
      • 2011-10-28
      • 2013-04-24
      相关资源
      最近更新 更多