居中对齐提交按钮

3

我有一个表单,里面包含文本域和提交按钮。
我将文本域向左浮动,将提交按钮向右浮动。

在Firefox中的显示效果如下:

enter image description here 在IE中的显示效果如下:

enter image description here

这是我编写的HTML代码:

<div id="form">
  <form method="post" action="google.php">
   <textarea rows="3" cols="40"  style="width: 300px; float: left;"></textarea>
   <input type="submit" style="width: 100px; float: right;" />
  </form>
</div>

这是 CSS 代码:
#form {
 overflow: auto;
 border: 1px solid black;
 width: 600px;
 padding-left: 10px;
 padding-right: 10px;
}

如何使提交按钮相对于文本区域在垂直方向上居中对齐?
答案: 我修改了代码以满足我的要求。
以下是 CSS 代码:
#form {
  overflow: auto;
  border: 1px solid black;
  width: 600px;
  padding-left: 10px;
 padding-right: 10px;
  }
 #form  textarea {
   vertical-align: middle;
  }
 #form span{
   display: inline-block;
   vertical-align: middle;
  margin-left: 40px;
}

HTML代码:

 <div id="form">
    <form method="post" action="google.php">
    <textarea rows="3" cols="40"  style="width: 300px; "></textarea>
    <span><input type="submit" value="Comment"  /></span> </form>
 </div>
6个回答

1
你可以使用 display: tabledisplay: table-cell 属性。但在这种情况下,你必须删除 floats 并给出具体的宽度。 HTML
<div id="form">
  <form method="post" action="google.php">
      <div class='wrap'>
   <textarea rows="3" cols="40"></textarea>
      </div>
       <div class='wrap_2'>
<input type="submit"/>
      </div>
  </form>
</div>

CSS
#form{
 overflow: auto;
 border: 1px solid black;
 width: 600px;
 padding-left: 10px;
 padding-right: 10px;
 display:table;
}

div.wrap, 
div.wrap_2 {
    float: none;
    display: table-cell;
    vertical-align: middle;
}

div.wrap {
    width:500px 
}

FIDDLE:

http://jsfiddle.net/7gnMu/


1
你可以使用margin-leftmargin-right属性。
例如: margin-left:135px;

1
你可以在提交按钮上使用position: absolute,并将其设置为距离顶部50%,减去按钮高度的一半作为margin-top。请参考这个fiddle:

http://jsfiddle.net/cXSbX/


0

将输入内容用某个元素包裹起来,并使其文本居中对齐。

<div id="form">
  <form method="post" action="google.php">
   <textarea rows="3" cols="40"  style="width: 300px; float: left;"></textarea>
      <span class="right" style="width: 278px; float: right; text-align:center;"><input type="submit" display:inline-block; /></span>
  </form>
</div>

http://jsfiddle.net/UuFg2/


抱歉..我想让它垂直居中对齐。 - Pradeep

0

试试 Js fiddle

http://jsfiddle.net/wZs2F/

#form {
 overflow: auto;
 border: 1px solid black;
 width: 600px;
 padding-left: 10px;
 padding-right: 10px;
}
.txtinput
{
 margin-left:100px;
}


<div id="form">
  <form method="post" action="google.php">
   <textarea rows="3" cols="40"  style="width: 300px; "></textarea>
      <div class="txtinput">
   <input type="submit" style="width: 100px;"  />
          </div>
  </form>
</div>

0
在这种情况下,vertical-align: bottom将不起作用。相反,使用height和line-height将使您的按钮垂直居中对齐。
为输入包含以下样式:
height: 80px; 
line-height: 70px

请在此处查看演示:演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接