【问题标题】:How to create a two column layout form?如何创建两列布局表单?
【发布时间】:2020-11-06 00:34:57
【问题描述】:

我在这里遗漏了什么吗?或者这不是正确的方法吗?请帮助我,看看这个并告诉我这里出了什么问题

/*--- FORM ----*/

.form-container {
  width: 100%;
}

.form-container li {
  display: block;
  float: left;
  width: 100%;
  margin: 0 auto;
}

input,
select,
textarea {
  width: 60%;
}

label {
  text-align: left;
  margin-left: 18px;
  font-size: 100%;
}
<div class="row">
  <form method="post" action="#" class="contact-form">
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="first-name">First name:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="text" name="first-name" id="first-name" required>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="last-name">Last name:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="text" name="last-name" id="last-name" required>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="business-email">Business email:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="email" name="business-email" id="business-email" required>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="phone-number">Phone number:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="text" name="phone-number" id="phone-number" required>
          </li>
        </ul>
      </div>
    </div>

    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="company-name">Company name:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="text" name="company-name" id="company-name" required>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label for="cosize">Company size:</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <select name="cosize" id="cosize">
              <option value="small" selected>1-100</option>
              <option value="medium">101-2000</option>
              <option value="large">2001+</option>
            </select>
          </li>
        </ul>

      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label>How did you find us? :</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <select name="find-us" id="find-us">
              <option value="search" selected>Search engine</option>
              <option value="friends">Friends</option>
              <option value="ad">Advertisement</option>
              <option value="other">Other</option>
            </select>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label>Tell us what you wnat here</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <textarea name="message"></textarea>
          </li>
        </ul>
      </div>
    </div>
    <div class="row">
      <div class="col span-1-of-3">
        <ul class="form-container">
          <li class="form-features">
            <label>&nbsp;</label>
          </li>
        </ul>
      </div>
      <div class="col span-2-of-3">
        <ul class="form-container">
          <li class="form-features">
            <input type="submit" value="Send message">
          </li>
        </ul>
      </div>
    </div>
  </form>
</div>

我已使用样式表中的代码尝试创建 2 列布局表单,但仍然无法正常工作。我在这里做错了吗?

我错过了什么,请帮忙!

【问题讨论】:

标签: html css layout flexbox multiple-columns


【解决方案1】:

我使用flexbox为您创建了一个示例

我已经删除了你的第一行,因为你不需要它并将 css 添加到 form.row

/*--- FORM ----*/

.form-container {
  width: 100%;
}

.form-container li {
  display: block;
  float: left;
  width: 100%;
  margin: 0 auto;
}

input,
select,
textarea {
  width: 60%;
}

label {
  text-align: left;
  margin-left: 18px;
  font-size: 100%;
}

form {
  display: flex;
  flex-wrap: wrap;
}

form .row {
  width: 50%;
}
<form method="post" action="#" class="contact-form">
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="first-name">First name:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="text" name="first-name" id="first-name" required>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="last-name">Last name:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="text" name="last-name" id="last-name" required>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="business-email">Business email:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="email" name="business-email" id="business-email" required>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="phone-number">Phone number:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="text" name="phone-number" id="phone-number" required>
        </li>
      </ul>
    </div>
  </div>

  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="company-name">Company name:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="text" name="company-name" id="company-name" required>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label for="cosize">Company size:</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <select name="cosize" id="cosize">
            <option value="small" selected>1-100</option>
            <option value="medium">101-2000</option>
            <option value="large">2001+</option>
          </select>
        </li>
      </ul>

    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label>How did you find us? :</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <select name="find-us" id="find-us">
            <option value="search" selected>Search engine</option>
            <option value="friends">Friends</option>
            <option value="ad">Advertisement</option>
            <option value="other">Other</option>
          </select>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label>Tell us what you wnat here</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <textarea name="message"></textarea>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="col span-1-of-3">
      <ul class="form-container">
        <li class="form-features">
          <label>&nbsp;</label>
        </li>
      </ul>
    </div>
    <div class="col span-2-of-3">
      <ul class="form-container">
        <li class="form-features">
          <input type="submit" value="Send message">
        </li>
      </ul>
    </div>
  </div>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2023-03-10
    相关资源
    最近更新 更多