css - Bootstrap 验证错误导致表单对齐问题

标签 css twitter-bootstrap forms alignment

在这个简单的示例中,当我在表单左侧的 First Name 输入框中出现验证错误时,E-Mail 表单元素被推到页面下方。

Picture of form issue on left side

当我在表单右侧出现相同的错误时,这种行为不会发生。

Picture of no issue on the right side

我看不出代码有什么不同。这里有一些屏幕截图。我无法让它在 jsfiddle 或 codepen 中工作,所以这里是测试页面的链接,我还在下面粘贴了我的 html:

https://www.blastyourresume.com/testing/formalignment/test.cfm

要重现该页面上的错误,请在名字字段中键入内容,然后将其删除。如果您在右侧重复此过程,则不会出现相同的行为。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="container" align="center">
    <form name="frmSignup" id="frmSignup" method="post">
        <div class="col-sm-6 col-xs-12 col-md-6">
            <div class="form-group" align="left">
                <label>First Name</label>
                <input type="text" placeholder="First Name" id="firstname" name="firstname" maxlength="50" class="form-control">
            </div>
        </div>
        <div class="col-sm-6 col-xs-12 col-md-6">
            <div class="form-group" align="left">
                <label>Last Name</label>
                <input type="text" placeholder="Last Name" id="lastname" name="lastname" maxlength="50" class="form-control">
            </div>
        </div>
        <div class="col-sm-6 col-xs-12 col-md-6">
            <div class="form-group" align="left">
                <label>E-Mail Address</label>
                <input type="text" placeholder="E-Mail" id="email" name="email" maxlength="100" class="form-control">
            </div>
        </div>
        <div class="col-sm-6 col-xs-12 col-md-6">
            <div class="form-group" align="left">
                <label>Confirm E-Mail Address</label>
                <input type="text" placeholder="Confirm E-Mail" id="confirmemail" name="confirmemail" maxlength="100" class="form-control">
            </div>
        </div>
        <div class="col-sm-12 col-xs-12 col-md-12">
            <button type="submit" name="btnSubmit" class="btn btn-primary" id="btnSubmit">&nbsp;&nbsp;Submit&nbsp;&nbsp;</button>
        </div>
    </form>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

最佳答案

  1. 灵活方法

    display:flex 添加到您的父容器中。显示 flex 将使 你的列等高。

    #frmSignup {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
  2. 错误信息的绝对定位。

    .form-group {
        position: relative;
    }
    
    .errormessageclass {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
    }
    

关于css - Bootstrap 验证错误导致表单对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50841681/

相关文章:

twitter-bootstrap - 如何以编程方式打开/关闭react-bootstrap模式?

asp.net-mvc - 当我的表单方法是 POST 时,用户请求 GET

javascript - 表单元素上的 $watch

css - 是否可以在 CSS 声明中嵌入 Flex Assets 类?

c# - 单击时更改颜色 <a> (asp.net mvc 4 visual studio 2012)?

javascript - 禁用外部网站链接的最简单方法?

javascript - 在选中多个复选框之前禁用提交按钮

html - 我的导航栏有问题。 (见图)

CSS:IE7 需要的帮助

javascript - 缩小窗口大小后网页无法正常显示