"Login and Register tabbed form"
Bootstrap 4.0.0 Snippet by josnick

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="panel panel-login"> <div class="panel-heading"> <div class="row"> <div class="col-xs-6"> <a href="#" class="active" id="login-form-link">Login</a> </div> <div class="col-xs-6"> <a href="#" id="register-form-link">Register</a> </div> </div> <hr> </div> <div class="panel-body"> <div class="row"> <a href="?lang=en" th:text="#{label.form.loginEnglish}">login</a> | <a href="?lang=es_ES" th:text="#{label.form.loginSpanish}">login</a> <br/><br/> <div class="col-lg-12"> <form id="login-form" action="login" method='POST' onsubmit="return validate();"> <div class="form-group"> <label class="col-sm-4" th:text="#{label.form.loginEmail}" >Email</label> <span class="col-sm-8"><input class="form-control" type='text' name='username' value=''/></span> </div> <div class="form-group"> <label class="col-sm-4" th:text="#{label.form.loginPass}">Password</label> <span class="col-sm-8"><input class="form-control" type='password' name='password' /></span> </div> <div class="form-group text-center"> <input type="checkbox" tabindex="3" class="" name="remember" id="remember"> <label for="remember"> Remember Me</label> </div> <div class="form-group"> <div class="row"> <div class="col-sm-6 col-sm-offset-3"> <input name="submit" type="submit" th:value="#{label.form.submit}" id="login-submit" tabindex="4" class="form-control btn btn-login" value="Log In"> </div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-lg-12"> <div class="text-center"> <a href="http://phpoll.com/recover" tabindex="5" class="forgot-password">Forgot Password?</a> </div> </div> </div> </div> </form> <form id="register-form" action="http://phpoll.com/register/process" method="post" role="form" style="display: none;"> <div class="form-group row"> <label class="col-sm-3" th:text="#{label.user.firstName}">first</label> <span class="col-sm-5"><input class="form-control" name="firstName" value="" required="required"/></span> <span id="firstNameError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <div class="form-group row"> <label class="col-sm-3" th:text="#{label.user.lastName}">last</label> <span class="col-sm-5"><input class="form-control" name="lastName" value="" required="required"/></span> <span id="lastNameError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <div class="form-group row"> <label class="col-sm-3" th:text="#{label.user.email}">email</label> <span class="col-sm-5"><input type="email" class="form-control" name="email" value="" required="required"/></span> <span id="emailError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <div class="form-group row"> <label class="col-sm-3" th:text="#{label.user.password}">password</label> <span class="col-sm-5"><input id="password" class="form-control" name="password" value="" type="password" required="required"/></span> <span id="passwordError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <div class="form-group row"> <label class="col-sm-3" th:text="#{label.user.confirmPass}">confirm</label> <span class="col-sm-5"><input id="matchPassword" class="form-control" name="matchingPassword" value="" type="password" required="required"/></span> <span id="globalError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <div class="form-group row"> <!-- to enable captcha uncomment the keys in application.properties --> <label class="col-sm-3">Captcha</label> <div class="g-recaptcha col-sm-5" th:attr="data-sitekey=${@captchaService.getReCaptchaSite()}" data-callback="onReCaptchaSuccess" data-expired-callback="onReCaptchaExpired"></div> <span id="captchaError" class="alert alert-danger col-sm-4" style="display:none"></span> </div> <br/> <button type="submit" class="form-control btn btn-register" tabindex="4" th:text="#{label.form.submit}">submit</button> </form> </div> </div> </div> </div> </div> </div> </div>
body { padding-top: 90px; } .panel-login { border-color: #ccc; -webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2); box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2); } .panel-login>.panel-heading { color: #00415d; background-color: #fff; border-color: #fff; text-align:center; } .panel-login>.panel-heading a{ text-decoration: none; color: #666; font-weight: bold; font-size: 15px; -webkit-transition: all 0.1s linear; -moz-transition: all 0.1s linear; transition: all 0.1s linear; } .panel-login>.panel-heading a.active{ color: #029f5b; font-size: 18px; } .panel-login>.panel-heading hr{ margin-top: 10px; margin-bottom: 0px; clear: both; border: 0; height: 1px; background-image: -webkit-linear-gradient(left,rgba(0, 0, 0, 0),rgba(0, 0, 0, 0.15),rgba(0, 0, 0, 0)); background-image: -moz-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); background-image: -ms-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); background-image: -o-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); } .panel-login input[type="text"],.panel-login input[type="email"],.panel-login input[type="password"] { height: 45px; border: 1px solid #ddd; font-size: 16px; -webkit-transition: all 0.1s linear; -moz-transition: all 0.1s linear; transition: all 0.1s linear; } .panel-login input:hover, .panel-login input:focus { outline:none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border-color: #ccc; } .btn-login { background-color: #59B2E0; outline: none; color: #fff; font-size: 14px; height: auto; font-weight: normal; padding: 14px 0; text-transform: uppercase; border-color: #59B2E6; } .btn-login:hover, .btn-login:focus { color: #fff; background-color: #53A3CD; border-color: #53A3CD; } .forgot-password { text-decoration: underline; color: #888; } .forgot-password:hover, .forgot-password:focus { text-decoration: underline; color: #666; } .btn-register { background-color: #1CB94E; outline: none; color: #fff; font-size: 14px; height: auto; font-weight: normal; padding: 14px 0; text-transform: uppercase; border-color: #1CB94A; } .btn-register:hover, .btn-register:focus { color: #fff; background-color: #1CA347; border-color: #1CA347; }
$(function() { $('#login-form-link').click(function(e) { $("#login-form").delay(100).fadeIn(100); $("#register-form").fadeOut(100); $('#register-form-link').removeClass('active'); $(this).addClass('active'); e.preventDefault(); }); $('#register-form-link').click(function(e) { $("#register-form").delay(100).fadeIn(100); $("#login-form").fadeOut(100); $('#login-form-link').removeClass('active'); $(this).addClass('active'); e.preventDefault(); }); });

Related: See More


Questions / Comments: