如何调整输入文本和输入提交之间的间距

时间:2019-03-25 03:44:38

标签: html css

我正在使用自动完成表单,但是我似乎在文本和提交表单之间的填充方面存在一些问题。我似乎无法调整文本和提交项目之间的间距,这是我需要的,因为当我增加文本字段的大小时,它会覆盖提交按钮。我相信我已经尝试了所有类型的填充,但是它们什么也没做。有人可以给我一个提示吗?

.autocomplete {
  position: relative;
  display: inline-block;
}

input {
  border: 1px solid;
  padding: 5px;
  font-size: 24px;
}

input[type=text] {
  border-color: #808080;
  background-color: #fff;
  width: 100%;
  -webkit-border-radius: 5px;
  padding: 5px;
}

input[type=submit] {
  margin-left: 5px;
  padding: 5px;
  background: #ccc;
  cursor: pointer;
  -webkit-border-radius: 5px;
  border: 1px solid;
  background-color: DodgerBlue;
  border-color: #CCCCCC;
  color: #fff;
}
<form autocomplete="off" action="/action_page.php">
  <div class="autocomplete" style="width:300px;">
    <input id="myInput" type="text" name="myCountry" placeholder="Country">
  </div>
  <input type="submit">
</form>

3 个答案:

答案 0 :(得分:1)

box-sizing: border-box添加到input[type=text]-默认的 content-box 设置意味着当您将padding添加到元素时,它会增加其尺寸

请参见下面的演示

.autocomplete {
  position: relative;
  display: inline-block;
}

input {
  border: 1px solid;
  padding: 5px;
  font-size: 24px;
}

input[type=text] {
  border-color: #808080;
  background-color: #fff;
  width: 100%;
  -webkit-border-radius: 5px;
  padding: 5px;
  box-sizing: border-box; /* added */
}

input[type=submit] {
  margin-left: 5px;
  padding: 5px;
  background: #ccc;
  cursor: pointer;
  -webkit-border-radius: 5px;
  border: 1px solid;
  background-color: DodgerBlue;
  border-color: #CCCCCC;
  color: #fff;
}
<form autocomplete="off" action="/action_page.php">
  <div class="autocomplete" style="width:300px;">
    <input id="myInput" type="text" name="myCountry" placeholder="Country">
  </div>
  <input type="submit">
</form>

您可以在此处看到更多示例:

答案 1 :(得分:0)

您是否尝试过在输入文本和提交按钮之间使用&nbsp;

.autocomplete {
  position: relative;
  display: inline-block;
}

input {
  border: 1px solid;
  padding: 5px;
  font-size: 24px;
}

input[type=text] {
  border-color: #808080;
  background-color: #fff;
  width: 100%;
  -webkit-border-radius: 5px;
  padding: 5px;
}

input[type=submit] {
  margin-left: 5px;
  padding: 5px;
  background: #ccc;
  cursor: pointer;
  -webkit-border-radius: 5px;
  border: 1px solid;
  background-color: DodgerBlue;
  border-color: #CCCCCC;
  color: #fff;
}
<form autocomplete="off" action="/action_page.php"> 
  <div class="autocomplete" style="width:300px;"> 
    <input id="myInput" type="text" name="myCountry" placeholder="Country">   
    </div>&nbsp;&nbsp;&nbsp;
<input type="submit"> 
</form>

答案 2 :(得分:0)

您可以在margin-left中增加input[type=submit] {}的值,如下所示:

input[type=submit] {
  margin-left: 10px; /* increased value */
  padding: 5px;
  background: #ccc;
  cursor: pointer;
  -webkit-border-radius: 5px;
  border: 1px solid;
  background-color: DodgerBlue;
  border-color: #CCCCCC;
  color: #fff;
}

或在上一个元素上添加边距,如下所示:

input[type=text] {
  border-color: #808080;
  background-color: #fff;
  width: 100%;
  -webkit-border-radius: 5px;
  padding: 5px;
  margin-right: 5px; /* add margin right */
}