Html CSS div对齐

Html CSS div对齐,html,css,Html,Css,我在对齐div时遇到问题。请参阅下面的html。我基本上有一个带有标签和输入字段的表单恶魔,在输入字段的右侧有一个。对于某些字段,元素具有小文本,适合于同一行。但对于某些字段,它有更多的文本,可以延伸到2或3行。 如何设置 < p> 元素的CSS,如果它只有11行,那么它应该显示在输入字段的中间,但是如果文本超过一行,那么它只会上升。 希望我的问题清楚。谢谢你的帮助 HTML: <div class="container"> <label>Label</label&

我在对齐div时遇到问题。请参阅下面的html。我基本上有一个带有标签和输入字段的表单恶魔,在输入字段的右侧有一个
。对于某些字段,
元素具有小文本,适合于同一行。但对于某些字段,它有更多的文本,可以延伸到2或3行。 如何设置<代码> < p> 元素的CSS,如果它只有11行,那么它应该显示在输入字段的中间,但是如果文本超过一行,那么它只会上升。 希望我的问题清楚。谢谢你的帮助

HTML:

<div class="container">
<label>Label</label><input class="input" />
    <p>Lorem ipsum dolor.  </p>
</div>
.container{
border:1px solid black;
    padding:20px;
    float:left;
}
label{
    line-height:2.5;
    float:left;
    border:1px solid green;
    width:60px;
    margin-right:10px;
}

input{
    border:1px solid green;
    height:34px;
    padding:4px 6px;
    width:200px;
    float:left;
    margin-right:10px;
}

p{
border:1px solid red;
    float:left;
    width:150px;
    line-height:15px;

}
jsFiddle:

设置固定宽度并放置
文本换行:正常

设置固定宽度并放置
文本换行:正常

您可以为表单创建一个包含3列的表。最后一个(使用p)可以在css中使用
vertical align:middle
进行样式设置

将您的JSFIDLE html编辑为:

<div class="container">
    <table>
        <tr>
            <td><label>Label</label></td>
            <td><input class="input" /></td>
            <td style="vertical-align:center"><p>Lorem ipsum asdf asd </p></td>
        </tr>
    </table>
</div>

标签
同侧视野


您的表单可以有一个包含3列的表格。最后一个(使用p)可以在css中使用
vertical align:middle
进行样式设置

将您的JSFIDLE html编辑为:

<div class="container">
    <table>
        <tr>
            <td><label>Label</label></td>
            <td><input class="input" /></td>
            <td style="vertical-align:center"><p>Lorem ipsum asdf asd </p></td>
        </tr>
    </table>
</div>

标签
同侧视野


我不是推荐插件的人,因为它通常不会帮助你学习。。。但在这种情况下,因为您需要根据长度进行不同的放置,而且因为听起来您正在使用它进行表单验证。。。我建议使用醉酒的工具提示。这是一种非常简单的添加消息的方法,它还可以根据您的需要在输入元素中移动


我不是推荐插件的人,因为它通常不会帮助你学习。。。但在这种情况下,因为您需要根据长度进行不同的放置,而且因为听起来您正在使用它进行表单验证。。。我建议使用醉酒的工具提示。这是一种非常简单的添加消息的方法,它还可以根据您的需要在输入元素中移动


< /P> < P>请解释你的意思是“它应该显示在输入字段的中间”?也许是你需要的。我将“标签输入P”中的“float:left”替换为“display:inline block”,并在“P”中添加了“垂直对齐:中间”


@Grigor:“文本换行”是css3的特性。请你解释一下你的意思是“应该在输入栏的中间显示”?也许是你需要的。我将“标签输入P”中的“float:left”替换为“display:inline block”,并在“P”中添加了“垂直对齐:中间”


@Grigor:“文本换行”是css3的特性。这可能不适合@Roman。

这是我对你问题的解释这是我对你问题的解释谢谢,这正是我想要的。对不起,如果我不能更好地解释的话。谢谢,这正是我想要的。对不起,如果我不能更好地解释的话。