12

我正在尝试在文本框中间对齐此文本区域的标签,但它不起作用。输出看起来像这样:

          xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx      
          xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          xxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
Synopsis: xxxxxxxxxxxxxxxxxxxxxxxxxxxx

这是我一直在尝试的代码。泰!

<style>
label textarea{
 vertical-align: middle;
}
</style>

<label>Synopsis: <textarea style="border: none" rows="7" cols="60">$v_Synopsis</textarea></label> 
4

5 回答 5

18

CODEPEN 演示

HTML

 <div>
  <label for="textarea">Textarea:</label>
  <textarea cols="40" rows="8" name="textarea" id="textarea"></textarea>
</div>

CSS

label,
textarea{
  display:inline-block;
  vertical-align:middle;

}
于 2013-10-22T16:04:49.023 回答
1

你可以这样做:

label { display:inline-block; vertical-align:central; }

textarea { display:inline-block; vertical-align:middle; }
于 2015-03-15T18:59:47.360 回答
0

这对我有用。首先 textarea 向右浮动,然后“地址”一词出现在它之前。它的顺序相反,但显示正确

<p>
<span style="float:right;"><textarea rows="3" cols="32" name="Add"></textarea></span>
<span style="float:right;">Address</span>
</p>

以显示:

Address┌──────────────┐
于 2014-03-28T16:25:03.217 回答
-1

你忘了 : ”,”

    <style>
label, textarea{
 vertical-align: middle;
}
</style>

<label>Synopsis: </label> <textarea style="border: 1" rows="3" cols="10"></textarea>
于 2013-10-22T16:11:02.310 回答
-1

这将始终有效,您可以灵活地将标签放置在任一位置;顶部、中间或底部

HTML:

<div id="mydiv">
    <label for="mytextarea">My Label</label>
    <textarea name="mytextarea"></textarea>
</div>

CSS:

#mydiv{
    display: table-cell;
}

label, textarea{
    display: inline-block;
    vertical-align: middle; /** Can be switched to 'top' if you so wish **/
}
于 2014-04-19T13:56:37.007 回答