首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将显示:flex应用于窗体

将显示:flex应用于窗体
EN

Stack Overflow用户
提问于 2017-11-24 13:16:10
回答 3查看 11.2K关注 0票数 3

我正在尝试申请显示:flex在这个表单上,但是失败了。HTML的结构是不能改变的,我不能在我的一生中想出如何去做。它们全部内联的唯一方法(包括按钮)是在表单. form -字段上应用flex。但是,当表单包装时,按钮停留在第一行,而姓氏的输入字段则进入第二行。

我做错了什么?我只能用CSS做什么,而不触及HTML呢?谢谢!

代码语言:javascript
复制
form, .form-fields {
  display: flex;
}
代码语言:javascript
复制
<div class="form">
  <form>
    <div class="form-body">
      <ul class="form-fields">
        <li class="form-field">
          <div class="input-container">
            <span class="name_first">
              <input type="text" name="first_name" id="first_name" value="" placeholder="First Name *" required="">
            </span>
            <span class="name_last">
              <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name *" required="">
            </span>
          </div>
        </li>
        <!--  name and last name -->

        <li class="form-field">
          <div class="input-container">
            <input name="email_address" id="email_address" type="email" value="" placeholder="Email *" required="">
          </div>
        </li>
        <!-- email adress -->
        <li class="form-field">
          <div class="input-container">
            <input name="phone_number" id="phone_number" type="tel" value="" placeholder="Phone *" required="">
          </div>
        </li>
        <!--  phone -->
      </ul>
      <input name="action" type="hidden" value="Request an Info Sheet">
    </div>
    <div class="form-footer">
      <button type="submit" class="form_button">
        <span>Contact Us</span>
      </button>
    </div>
    <!-- button -->
  </form>
</div>

EN

回答 3

Stack Overflow用户

发布于 2017-11-24 13:19:02

添加flex-wrap将按钮发送到下一行的末尾:

代码语言:javascript
复制
form, .form-fields {
  display: flex;
  flex-wrap: wrap;
}
票数 3
EN

Stack Overflow用户

发布于 2022-06-23 09:32:08

Flexbox只对直接儿童有效。因此,如果您对父母执行display:flex,那么所有直接的孩子都会受到影响。子代内的嵌套div不会受到影响。因此,表单上的display:flex将使.form-body.form-footer表现为flex子函数,因此这两个div将排在一起。

display:flex应用于.form-fields将使.form-fields的所有直接子级(即.form-field类)成为一个flex项。所以他们会水平地对齐。

包装的问题是因为第一个.input-container有两个非flex子程序。因此,在那里增加弹性,也会使它们保持在线状态。

因此,添加此css将对齐所有项:

代码语言:javascript
复制
 form {
  display: flex;
  justify-content:center;
  align-items:center;
}
.form-fields, .input-container{
  display:flex;
}
票数 1
EN

Stack Overflow用户

发布于 2017-11-24 14:01:47

我想这可能是你想做的。我所做的就是添加:flex-direction: column;

柔箱的默认值是行。这将使flex项目成为一行,并将孩子们分散到该行上。

将挠曲框的值设置为列,将使flex项成为一列,并将子列扩展到该列。

希望它有帮助;)

代码语言:javascript
复制
form, .form-fields {
  display: flex;
  flex-direction: column;
}
代码语言:javascript
复制
<div class="form">
  <form>
    <div class="form-body">
      <ul class="form-fields">
        <li class="form-field">
          <div class="input-container">
            <span class="name_first">
              <input type="text" name="first_name" id="first_name" value="" placeholder="First Name *" required="">
            </span>
            <span class="name_last">
              <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name *" required="">
            </span>
          </div>
        </li>
        <!--  name and last name -->

        <li class="form-field">
          <div class="input-container">
            <input name="email_address" id="email_address" type="email" value="" placeholder="Email *" required="">
          </div>
        </li>
        <!-- email adress -->
        <li class="form-field">
          <div class="input-container">
            <input name="phone_number" id="phone_number" type="tel" value="" placeholder="Phone *" required="">
          </div>
        </li>
        <!--  phone -->
      </ul>
      <input name="action" type="hidden" value="Request an Info Sheet">
    </div>
    <div class="form-footer">
      <button type="submit" class="form_button">
        <span>Contact Us</span>
      </button>
    </div>
    <!-- button -->
  </form>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47474150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档