输入文字并在一行中提交

时间:2016-06-28 11:27:28

标签: html css input

enter image description here

如何在不使用float: left的情况下实现此效果(交叉浏览)?

我需要将此form居中,因此float属性对我来说是错误的。有人可以帮忙吗?

我已经制作了代码,如下所示。

我的代码:

footer input[type=text] {
  border-top: 1px solid #efefef;
  border-left: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  border-right: 0;
  width: 230px;
  padding: 0 10px;
  font-size: 16px;
  line-height: 18px;
  height: 35px;
  display: inline-block;
  float: left;
  margin: 0 auto;
}
footer input[type=submit] {
  border: 1px solid #df242b;
  background: #df242b url('../../../gfx/submit.jpg') no-repeat center center;
  color: #fff;
  width: 38px;
  height: 37px;
  font-size: 18px;
  line-height: 18px;
  cursor: pointer;
  display: inline-block;
  float: left;
  margin: 0 auto;
}

3 个答案:

答案 0 :(得分:2)

由于您希望跨浏览器并且不使用float:left,因此可以inline-block使用vertical-align:top

要居中,您需要将margin:0 auto应用于footer,而不是width

我对你的代码进行了一些调整。

*,
*::before,
*::after {
  box-sizing: border-box
}
body {
  margin: 0;
  /* demo */
  background: lightgreen
}
footer {
  /*fix inlin block gap */
  font-size: 0;
  margin: 0 auto;
  width: 265px; /* 230px + 35px */
}
footer input {
  line-height: 18px;
  height: 35px;
  display: inline-block;
  vertical-align: top;
}
footer input[type=text] {
  border: solid #efefef;
  border-width: 1px 0 1px 1px;
  width: 230px;
  padding: 0 10px;
  font-size: 16px;
}
footer input[type=submit] {
  border: 1px solid #df242b;
  background: #df242b url('//dummyimage.com/35x35') no-repeat center center;
  color: #fff;
  width: 35px;
  font-size: 18px;
  cursor: pointer
}
<footer>
  <input type="text">
  <input type="submit">
</footer>

答案 1 :(得分:0)

没有float:left的代码实际上运行正常。也许你会在小尺寸的屏幕上体验换行。如果是这种情况,只需为您的页脚添加一段CSS,就像这个例子一样。

footer {
   white-space: nowrap;
   text-align: center;
}

footer input[type=text] {
      border: 1px solid #efefef;
      border-right: 0;
      width: 230px;
      padding: 0 10px;
      font-size: 16px;
      line-height: 18px;
      height: 35px;
      display: inline-block;
      margin: 0 auto;
    }
    footer input[type=submit] {
      border: 1px solid #df242b;
      background: #df242b url('../../../gfx/submit.jpg') no-repeat center center;
      color: #fff;
      width: 38px;
      height: 37px;
      font-size: 18px;
      line-height: 18px;
      cursor: pointer;
      display: inline-block;
      margin: 0 auto;
    }
<footer>
  <input type="text" />
  <input type="submit" />
</footer>

答案 2 :(得分:0)

像这样使用

<style>
body{margin:0;}
footer{
	width:100%;
	background:#ccc;
	height:250px;
}
.form{
	width:292px;
	margin:0 auto;
}
footer input[type=text] {
  border-top: 1px solid #efefef;
  border-left: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  border-right: 0;
  width: 230px;
  padding: 0 10px;
  font-size: 16px;
  line-height: 18px;
  height: 37px;
  display: inline-block;
  float: left;
  margin: 0 auto;
}
footer input[type=submit] {
  border: 1px solid #df242b;
  background: #df242b;
  color: #fff;
  width: 38px;
  height: 37px;
  font-size: 18px;
  line-height: 18px;
  cursor: pointer;
  display: inline-block;
  float: left;
  margin: 0 auto;
}
</style>

<footer>
  <div class="form">
	  <input type="text">
	  <input type="submit" value=">">
  </div>
</footer>