html - 将两个元素设置为 100% 宽度,但一个看起来比另一个宽得多

标签 html css width

我希望我的 HTML 表单上的两个元素具有相同的宽度。我已将两者的宽度都设置为 100%,如下所示

input[type=text] {
  margin-bottom: 20px;
  margin-top: 10px;
  width: 100%;
  padding: 15px;
  border-radius: 5px;
  border: 1px solid #7ac9b7;
}

input[type=submit] {
  margin-bottom: 20px;
  width: 100%;
  padding: 15px;
  border-radius: 5px;
  border: 1px solid #7ac9b7;
  background-color: #4180C5;
  color: aliceblue;
  font-size: 15px;
  cursor: pointer;
}

但是当您查看我的表单时(至少在 Mac Google Chrome 上),https://jsfiddle.net/1v0xe9jx/1/ , 文本框明显比提交按钮宽。如何调整我的文本框(或者可能是提交按钮的问题),使其看起来与按钮具有相同的宽度?

最佳答案

或者,在链接到的 js fiddle 上测试

您可以简单地修改 css 选择器的 padding 属性:

input [type=text] {
  padding: 15px 0;
}

这是最简单(并且可能是最合乎逻辑的)修复 - 只需添加一个。此速记将顶部和底部的填充设置为 15 像素,同时将左侧和右侧设置为 0,从而达到您想要的效果。

将所有四个边的 padding 设置为 15px 更有意义,然后在左侧和右侧将其设置为 0 -- 正如其他答案之一所建议的那样。

如果你想更明确,你可以取消 padding 属性并选择这个:

input [type=text] {
  padding-top: 15px;
  padding-bottom: 15px;
}

无论哪种方式,您都不会在所有四个方面设置 padding 只是为了在接下来的两行中取反

关于html - 将两个元素设置为 100% 宽度,但一个看起来比另一个宽得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45991053/

相关文章:

jquery - 更改工具栏 OnsenUi 的颜色

css - 在 HTML 电子邮件的 css 中使用@media

html - flexbox 元素可以更喜欢包装而不是扩展它们的容器吗?

javascript - 在 Java 中,如何在执行页面上的 Javascript 后访问更新的 HTML 源代码?

javascript - 使用 Python 运行 Javascript (onclick)

css - 宽度:calc() 在 Firefox 中不起作用

c++ - 为什么来自 GetWindowRect(rcWindow2) 的 cx/cy 与馈入 OnSize 的 cx/cy 不同?

html - 单独的影子根中是否允许重复 ID?

php - 使用 jquery 将 jquery 数组更新为隐藏字段

android - 弹出窗口的宽度和高度