Coder Wrap provides free to use snippets Coder Wrap provides free to use snippets

Back to Forms
Preview Source Code
Download
HTML
CSS
/**Typeo CSS Start**/
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,400;0,500;0,700;0,800;1,300;1,400;1,500;1,600;1,700&display=swap');

* {
 box-sizing: border-box;
}

body {
 margin: 0px;
 background-color: #ffffff;
}

/**Typeo CSS End**/
.signinform-scn, .signinform-scn * {
 --page-width: 1230px;
 --base-fm: 'Rubik', sans-serif;
 --title-size: 30px;
 --base-size: 16px;
 --base-clr: #2e2e2e;
 --white-clr: #ffffff;
 --theme-clr: #4c1d95;
 --bg-clr: #0f172a;
}

.page-width {
 max-width: var(--page-width);
 margin: auto;
 width: 100%;
 padding: 0 15px;
}

.logo {
 display: flex;
 flex-flow: row wrap;
 justify-content: center;
 margin: auto;
 max-width: 240px;
}

.logo img {
 max-width: 100%;
}

.cwg-btn {
 background-color: transparent;
 border: var(--white-clr) 1px solid;
 color: var(--white-clr);
 font-family: var(--base-fm);
 font-size: var(--base-size);
 padding: 12px 16px;
 display: flex;
 flex-flow: row wrap;
 align-items: center;
 border-radius: 4px;
 width: 100%;
 justify-content: center;
 margin-top: 30px;
 cursor: pointer;
 transition: 0.5s all;
}

.cwg-btn svg {
 width: 28px;
 margin-right: 10px;
}

.cwg-btn:hover {
 background-color: var(--theme-clr);
 border-color: var(--theme-clr);
}

.login-continue {
 position: relative;
 text-align: center;
 display: block;
 width: 90%;
 margin: 25px auto;
}

.login-continue:before {
 content: '';
 position: absolute;
 left: 0px;
 top: 50%;
 width: 100%;
 height: 1px;
 background-color: var(--white-clr);
}

.login-continue span {
 color: var(--white-clr);
 position: relative;
 z-index: 1;
 background-color: var(--bg-clr);
 padding: 0px 15px;
}

.signinform-scn {
 background-color: var(--bg-clr);
 padding: 80px 15px;
 min-height: 100vh;
 font-family: var(--base-fm);
 font-size: var(--base-size);
 color: var(--white-clr);
 align-items: center;
}

.signinform-inner {
 display: flex;
 flex-flow: row wrap;
 width: 100%;
 max-width: 320px;
 margin: auto;
}

.signinform-inner .form-tabs {
 width: 100%;
 display: flex;
 flex-flow: row wrap;
 background-color: var(--bg-clr);
 color: var(--white-clr);
 margin-bottom: 30px;
}

.signinform-inner .form-tabs.formtabs-show {
 display: none;
}

.f-tab-item .flabel {
 display: block;
 width: 100%;
 text-align: center;
 font-weight: 500;
}

.signinform-inner .form-tabs .f-tab-item {
 display: flex;
 width: 50%;
 text-align: center;
 flex-flow: row wrap;
 justify-content: center;
 align-content: center;
 cursor: pointer;
 transition: 0.5s all;
 border: var(--white-clr) 1px solid;
 padding: 12px 10px 14px 10px;
}

.signinform-inner .form-tabs .f-tab-item:first-child {
 border-radius: 6px 0px 0px 6px;
}

.signinform-inner .form-tabs .f-tab-item:last-child {
 border-radius: 0px 6px 6px 0px;
}

.signinform-inner .form-tabs .f-tab-item * {
 pointer-events: none;
}

.signinform-inner .form-tabs .f-tab-item:hover, .signinform-inner .form-tabs .f-tab-item.active {
 background-color: var(--theme-clr);
 border-color: var(--theme-clr);
 color: var(--white-clr);
}

.cw-form-info {
 width: 100%;
}

.cmn-form-group {
 display: none;
 line-height: 1.4;
}

.signinform-scn input {
 font-size: var(--size-size);
 color: var(--white-size);
 text-align: left;
 padding: 15px 15px;
 width: 100%;
 display: inline-block;
 box-sizing: border-box;
 border: none;
 outline: none;
 background: transparent;
 letter-spacing: .5px;
 border-radius: 4px;
 font-family: var(--base-fm);
 border: 1px solid var(--white-clr);
}

.signinform-scn input::-webkit-input-placeholder {
 color: var(--white-size);
}

.signinform-scn input:-ms-input-placeholder {
 color: var(--white-size);
}

.signinform-scn input::placeholder {
 color: var(--white-size);
}

.cw-form-info .input-group {
 margin-bottom: 15px;
 padding: 0px 0px;
 position: relative;
}

.cw-form-info h2 {
 font-size: calc(var(--title-size) - 4px);
 font-weight: 500;
 margin-top: 0px;
 margin-bottom: 10px;
}

.form-row {
 display: flex;
 justify-content: space-between;
 padding-top: 15px;
 padding-bottom: 15px;
}

.form-row .forgot {
 color: var(--white-clr);
 text-decoration: none;
 cursor: pointer;
}

.form-row .forgot:hover {
 text-decoration: underline;
}

.signinform-scn .cmn-btn {
 color: var(--white-clr);
 background-color: var(--theme-clr);
 margin-top: 10px;
 outline: none;
 width: 100%;
 padding: 15px 15px;
 cursor: pointer;
 font-size: 20px;
 border-radius: 6px;
 -webkit-border-radius: 6px;
 -moz-border-radius: 6px;
 -ms-border-radius: 6px;
 -o-border-radius: 6px;
 border: none;
 transition: 0.5s all;
}

.cmn-btn:hover {
 opacity: 0.9;
}

.form-row .form-check input[type="checkbox"]+label:before {
 border-radius: 3px;
 border: 1px solid #e2e2e2;
 color: transparent;
 content: "\2714";
 display: inline-block;
 height: 18px;
 margin-right: 5px;
 transition: 0.2s;
 vertical-align: inherit;
 width: 18px;
 text-align: center;
 line-height: 20px;
}

.form-row .form-check input[type="checkbox"] {
 display: none;
}

.form-row .form-check input[type="checkbox"]:checked+label:before {
 background-color: var(--theme-clr);
 border-color: var(--theme-clr);
 color: var(--white-clr);
}

.form-row .form-check input[type="checkbox"]+label {
 cursor: pointer;
 color: var(--white-clr);
}

.account-link {
 margin: 30px 0px 0px 0px;
 text-align: center;
 color: var(--white-clr);
}

.account-link span {
 color: var(--white-clr);
 cursor: pointer;
 text-decoration: underline;
}

.account-link span:hover {
 text-decoration: none;
}

.cancel-link {
 text-align: center;
 display: flex;
 justify-content: center;
 cursor: pointer;
 color: var(--white-clr);
 margin-top: 20px;
 text-decoration: underline;
}

.cancel-link:hover {
 text-decoration: none;
}

.showform {
 display: block;
}

@media(max-width:767px) {
 .signinform-scn {
  padding: 25px 0px;
 }

}
JS
// First Tab & Tab Data class
document.querySelector('.signinform-inner .f-tab-item:first-child').classList.add('active');
document.querySelector('.cmn-form-group:first-child').classList.add('showform');

// Tab Code
let tabitems = document.querySelectorAll('.signinform-inner .f-tab-item');
tabitems.forEach(function(item) {
  item.addEventListener('click', function(e) {
    let datatab = e.target.getAttribute('data-tab');

    // Remove active class from all tab items
    tabitems.forEach(function(item) {
      item.classList.remove('active');
    });

    // Add active class to clicked tab item
     e.target.classList.add('active');

    let tabDataItems = document.querySelectorAll('.cmn-form-group');
    tabDataItems.forEach(function(dItem) {
      dItem.classList.remove('showform');
    });
    document.querySelector(`.${datatab}`).classList.add('showform');
  });
});
document.querySelector('.forgot.f-tab-item').addEventListener('click', function(e) {
  document.querySelector('.form-tabs').classList.add('formtabs-show');
});

//Cancel Code
document.querySelector('.cancel-link').addEventListener('click', function(e) {
  document.querySelector('.forgotpass-tab').classList.remove('showform');
  document.querySelector('.form-tabs').classList.remove('formtabs-show');
  document.querySelector('div[data-tab="login-tab"]').classList.add('active');
  document.querySelector('.login-tab').classList.add('showform');
});

document.querySelector('.login-link').addEventListener('click', function(e) {
  document.querySelector('div[data-tab="login-tab"]').classList.add('active');
});
document.querySelector('.signup-link').addEventListener('click', function(e) {
  document.querySelector('div[data-tab="register-tab"]').classList.add('active');
});

Related Snippets

Leave a comment

Your email address will not be published. Required fields are marked *