将元素放在外面但与元素对齐

时间:2014-02-09 08:37:13

标签: html css

标题有点模糊,但这是我想要的。我创建了一个注册表单。我希望两个输入框旁边显示两条错误消息,但在整个表单之外。您在中间看到的所有内容都位于一个与中心水平对齐的div中。

我不知道使用顶部property(%)是否可以帮助将它们垂直放置,但我仍然需要将它们对齐到表单右侧。

enter image description here

代码:

<div id="container">
    <div id="container_center">
        <form name="RegForm" method="post" action="/validate_register2.php" onsubmit="getDatum()"> 
            <table class="minden2">
                <tr>
                    <td>
                        <h1 class="title">Register</h1>
                    </td>
                </tr>
                <tr>
                    <td>
                        <table class="cont2">
                            <tr>
                                <td class="hely">
                                    <p><b>Username:</b></p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input type="text" name="username" class="aaa" id="form_username" maxlength="25" value="">
                                </td>
                            </tr>
                            <tr>
                                <td class='reg'>
                                    <p class='le'><b>Password:</b></p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input class="tooltip" type="password" name="password1" id="form_password1" maxlength="25" value="">
                                </td>
                            </tr>
                            <tr>
                                <td class="reg">
                                    <p class='le'><b>Email:</b></p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input type="text" name="email1" class="i" id="form_email1" maxlength="254" value="">
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label id="c"><input type="checkbox" name="cb" id="acceptagreement" class="cb" onchange="enableSubmitButton()"/>I have read and 
                                    agreed to the <a href="/termsofuse" class="h_link" target="_blank">Terms of use</a> and <a href="/privacy-policy" class="h_link" target="_blank">Privacy Policy</a>.</label>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td class="submit">
                        <input type="submit" name="submit" value="Register" id="submit" class="submitbtn"/>
                    </td>
                </tr>
            </table>
        </form>
        <p id='error1' >Error message 1<p>
    </div>
</div>

#container {
border: 0px solid green;
margin:0;
}

#container_center{
border: 0px solid black;
width: 320px;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
margin-top: 40px;
background: #FFFFFF;
padding: 20px;
padding-bottom:15px;
padding-top:0;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
-khtml-border-radius: 10px;
-webkit-box-shadow:0 0px 10px rgba(0, 0, 0, 0.5);
-moz-box-shadow:0 0px 10px rgba(0, 0, 0, 0.5);
box-shadow:0 0px 10px rgba(0, 0, 0, 0.5);
}

table.minden2 {
border:0px solid red;
border-collapse: collapse;
margin:0;
text-align:center;
width: 100%;
}

此处提供完整代码:

http://www55.zippyshare.com/v/84179336/file.html http://www63.zippyshare.com/v/98322849/file.html

3 个答案:

答案 0 :(得分:2)

您可以使用溢出可以使用禁用包装的行div显示在父div之外的事实

 white-space: nowrap;

并将容器的宽度固定到所需的量。

请参阅此示例http://jsfiddle.net/sk96t/3/

enter image description here

您可以注意到更改字段大小或字段之间的间距,错误消息保持垂直对齐。

答案 1 :(得分:0)

假设错误消息恰好在其关联的表单字段之前或之后,您可以正确地浮动错误消息并为它们提供负的右边距。这将把它们拉到包含div之外。然后,您可以使用错误消息的上边距来获取您正在寻找的垂直偏移。只需确保在包含div上可以看到溢出,或者在向右移动时隐藏消息。

答案 2 :(得分:0)

如果您希望在两个输入框旁边但在整个<form>之外显示两条错误消息,则可以将<form>标记放在<div>之外。标签

显示您的代码。