HTML 表单输入宽度

标签 html css

下面的代码是一个简单的 html 表单。我想要做的是使所有输入在表单面板内具有最大宽度,并且看起来类似于下图。

我尝试为面板内的所有输入设置最大宽度,但它似乎不起作用。任何帮助将不胜感激。

enter image description here

input[type="text"],
input[type="email"],
input[type="password"] {
  padding: 4px 20px;
  height: 35px;
  border: 1px solid black;
  margin: 10px;
  border-radius: 3px;
  max-width: 100%;
}

.form-panel {
  display: table;
  background-color: #b7bcbe;
}
<body>
  <div class="form-panel">
    <div class="form-name">
      <input type="text" name="fname" placeholder="First Name">
      <input type="text" name="lname" placeholder="Last Name">
      <br>
    </div>
    <div class="form-email">
      <input type="email" name="email" placeholder="Email Address">
      <br>
    </div>
    <div class="form-password">
      <input type="password" name="password" placeholder="Password">
      <input type="password" name="cpassword" placeholder="Comfirm Password">
    </div>
  </div>
  <input type="submit" class="btn btn-default submit-button" value="Sign up!">


</body>

最佳答案

您可以使用 flex-box 代替 table。

当您使用 display: table - 列将具有相同的宽度(没有 colspan 选项)

对每一列使用display: flex 并设置flex-grow: 1 这样所有元素都会增长并填充父级。

input[type="text"],
input[type="email"],
input[type="password"] {
  padding: 4px 20px;
  height: 35px;
  border: 1px solid black;
  margin: 10px;
  border-radius: 3px;
  flex-grow: 1;
}

.form-row {
  flex-direction: row;
  display: flex;
}

.form-panel {
  background-color: #b7bcbe;
}
<body>
  <div class="form-panel">
    <div class="form-row form-name">
      <input type="text" name="fname" placeholder="First Name">
      <input type="text" name="lname" placeholder="Last Name">
      <br>
    </div>
    <div class="form-row form-email">
      <input type="email" name="email" placeholder="Email Address">
      <br>
    </div>
    <div class="form-row form-password">
      <input type="password" name="password" placeholder="Password">
      <input type="password" name="cpassword" placeholder="Comfirm Password">
    </div>
  </div>
  <input type="submit" class="btn btn-default submit-button" value="Sign up!">


</body>

关于HTML 表单输入宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147625/

相关文章:

javascript - 在本地存储 JavaScript 中保存以前的提交

javascript - 创建这个水平菜单导航栏最简单的方法是什么?

jquery - 将不透明度从 0 动画化到 1,然后再返回

javascript - 调整正则表达式以忽略链接 HTML 标记内的任何其他内容

html - 页脚社交图标在调整大小时不会均匀间隔

css - 使用 CSS、Rails、Bourbon 和 Neat 滑出导航

html - 如果位置固定,如何使元素与其父元素一样宽

javascript - 为什么这段 JavaScript 代码(作为 HTML 属性嵌入)不起作用?

jquery - 拖动任何东西时使用 jquery ui 创建放大的 'photographers loope' 样式效果

php - codeigniter 3 - 缺少 css 文件