Web sitenizdeki sıkıcı ve herkesin kullandığı tarzdan bir giriş paneli kullanmak istemiyorsanız eğer bu örnek tam size göre. Tushar Dhara tarafından hazırlanmış 3D animasyonlu giriş formu örneği. Giriş formu örneğinin bir tarafında e-mail ile giriş diğer tarafında ise kullanıcı adı ile giriş özelliği bulunuyor. Form çerçevesinde bulunan ikonlar yardımıyla form örneğini 180º döndürebiliyorsunuz. Örneğin bir tarafını giriş formu diğer tarafını da isterseniz şifremi unuttum yada üye ol bölümü olarak kullanırsanız daha iyi olur sanırım.
Kullanım
- Head etiketleri arasına eklemeniz gereken bölümler.
Js dosya adresi :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
JavaScript :
<script> $(function(){ // Checking for CSS 3D transformation support $.support.css3d = supportsCSS3D(); var formContainer = $('.loginWrapper'); // Listening for clicks on the ribbon links $('.flip').click(function(e){ // Flipping the forms formContainer.toggleClass('flipped'); // If there is no CSS3 3D support, simply // hide the login form (exposing the recover one) if(!$.support.css3d){ $('#login').toggle(); } e.preventDefault(); }); formContainer.find('form').submit(function(e){ // Preventing form submissions. If you implement // a backend, you might want to remove this code //e.preventDefault(); }); // A helper function that checks for the // support of the 3D CSS3 transformations. function supportsCSS3D() { var props = [ 'perspectiveProperty', 'WebkitPerspective', 'MozPerspective' ], testDom = document.createElement('a'); for(var i=0; i<props.length; i++){ if(props[i] in testDom.style){ return true; } } return false; } $(this).children('span').toggleClass('checked'); }); //checkbox $('.checker').click(function(e){ }); </script>
Css :
/*Login page ================================================== */ .loginWrapper { width: 240px; position: absolute; left: 50%; top: 50%; margin: -124px 0 0 -120px; text-align: center; -moz-perspective: 800px; -webkit-perspective: 800px; perspective: 800px; } /* Login hover buttons */ .logleft, .logright, .logback { background: url(img/icon-set.png) no-repeat; height: 37px; width: 37px; position: absolute; top: 36px; display: block; opacity: 0; filter: alpha(opacity=0); } .logleft { left: 0px; background-position: 0 0; } .logright { right: 0px; background-position: -38px 0; } .logback { left: 0; background-position: -76px 0; } .logleft:hover { background-position: 0 -39px; } .logright:hover { background-position: -38px -39px; } .logback:hover { background-position: -76px -39px; } #login{ z-index:100; } #recover{ z-index:1; opacity:0; filter: alpha(opacity=0); -moz-transform:rotateY(180deg); -webkit-transform:rotateY(180deg); transform:rotateY(180deg); } .flipped #login{ opacity:0; filter: alpha(opacity=0); -moz-transform:rotateY(-180deg); -webkit-transform:rotateY(-180deg); transform:rotateY(-180deg); } .loginWrapper.flipped #recover{ opacity:1; filter: alpha(opacity=100); -moz-transform:rotateY(0deg); -webkit-transform:rotateY(0deg); transform:rotateY(0deg); } .loginWrapper form { width:100%; height:100%; position:absolute; top:0; left:0; /* Enabling 3d space for the transforms */ -moz-transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; /* When the forms are flipped, they will be hidden */ -moz-backface-visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; /* Enabling a smooth animated transition */ -moz-transition:0.8s; -webkit-transition:0.8s; transition:0.8s; /* Configure a keyframe animation for Firefox */ -moz-animation: pulse 2s infinite; /* Configure it for Chrome and Safari */ -webkit-animation: pulse 2s infinite; } .loginPic { text-align: center; display: block; position: relative; overflow: hidden; } .loginPic span { display: block; color: #5f5f5f; font-size: 14px; margin-top: 10px; font-weight: bold; text-shadow: 0 1px 1px #ffffff; } .loginWrapper form { display: block; margin: 0 auto; width: 236px; } .loginWrapper a { display: inline-block; } .loginWrapper input[type=text], .loginWrapper input[type=password] { font-size: 11px; color: #858585; box-shadow: 0 0 0px 2px #ebebeb; -webkit-box-shadow: 0 0 0px 2px #ebebeb; -moz-box-shadow: 0 0 0px 2px #ebebeb; padding: 7px 27px 7px 9px; border: 1px solid #d7d7d7; width: 198px; display: inline-block; margin-top: 15px; } .loginUsername { background: #fbfbfb url(img/user.png) no-repeat 213px 7px; } .loginPassword { background: #fbfbfb url(img/lockk.png) no-repeat 214px 7px; } .loginEmail { background: #fbfbfb url(img/a.png) no-repeat 213px 7px; } .logControl { margin-top: 15px; } url(img/icon-set.png) .logControl:after { content: ""; display: block; clear: both; } .logControl .memory { float: left; margin-top: 5px; } .logControl input[type=submit] { float: right; } /* Checkboxes */ div.checker { width: 16px; height: 16px; position: relative; display: -moz-inline-box; display: block; vertical-align: middle; zoom: 1; float: left; margin-top: 3px; margin-right: 8px; box-shadow: 0 1px 0 #fff; -webkit-box-shadow: 0 1px 0 #fff; -moz-box-shadow: 0 1px 0 #fff; } div.checker input { width: 16px; height: 16px; opacity: 0; filter: alpha(opacity:0); display: inline-block; background: none; } div.checker span { background: url(img/select.png) no-repeat 0 0; height: 16px; width: 16px; display: -moz-inline-box; display: inline-block; text-align: center; } div.checker span.checked { background-position: 0 -17px; } /* Button */ .bBlue { border: 1px solid #3e76af; box-shadow: 0 1px 2px 0 #66b2d2 inset; -webkit-box-shadow: 0 1px 2px 0 #66b2d2 inset; -moz-box-shadow: 0 1px 2px 0 #66b2d2 inset; color:#fff; background: #5ba5cb; background: -moz-linear-gradient(top, #5ba5cb 0%, #3a70ab 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5ba5cb), color-stop(100%,#3a70ab)); background: -webkit-linear-gradient(top, #5ba5cb 0%,#3a70ab 100%); background: -o-linear-gradient(top, #5ba5cb 0%,#3a70ab 100%); background: -ms-linear-gradient(top, #5ba5cb 0%,#3a70ab 100%); background: linear-gradient(top, #5ba5cb 0%,#3a70ab 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5ba5cb', endColorstr='#3a70ab',GradientType=0 ); } .bBlue:hover { opacity: 0.95; filter: alpha(opacity=95); -webkit-transition: opacity 0.2s ease-in-out; -moz-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; } .bBlue:active { background: #4786b8; box-shadow: 0 0 2px #707070 inset, 0 1px 0 #fff; -webkit-box-shadow: 0 0 2px #707070 inset, 0 1px 0 #fff; -moz-box-shadow: 0 0 2px #707070 inset, 0 1px 0 #fff; } .buttonM [class*="tablectrl"] { font-size: 11px; color: #fff; font-weight: bold; text-shadow: 0 -1px #6f6f6f; display: inline-block; line-height: 14px; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; } .buttonM span { text-shadow: 0 1px 0 #6f6f6f; margin-left: 10px; } .buttonM { padding: 7px 15px; } .memory label{font-size:12px; position:relative;top:-18px;left:20px;}
- Body etiketleri arasına eklemeniz gereken bölüm.
Html :
<div class="loginWrapper"> <!-- Current user form --> <form action="index.html" id="login"> <div class="loginPic"> <a href="#" title=""><img src="img/lock.png" alt=""></a> <div class="loginActions"> <div><a href="#" title="Change user" class="logleft flip" style="left: 0px; opacity: 1;"></a></div> <div><a href="#" title="Forgot password?" class="logright" style="right: 0px; opacity: 1;"></a></div> </div> </div> <input type="text" name="login" placeholder="Confirm your email" class="loginEmail"> <input type="password" name="password" placeholder="Password" class="loginPassword"> <div class="logControl"> <div class="memory"><div class="checker" id="uniform-remember1"><span><input type="checkbox" checked="checked" class="check" id="remember1" style="opacity: 0;"></span></div><label for="remember1">Remember me</label></div> <input type="submit" name="submit" value="Login" class="buttonM bBlue"> </div> </form> <!-- New user form --> <form action="index.html" id="recover"> <div class="loginPic"> <a href="#" title=""><img src="img/lock.png" alt=""></a> <div class="loginActions"> <div><a href="#" title="" class="logback flip" style="left: 0px; opacity: 1;"></a></div> <div><a href="#" title="Forgot password?" class="logright" style="right: 0px; opacity: 1;"></a></div> </div> </div> <input type="text" name="login" placeholder="Your username" class="loginUsername"> <input type="password" name="password" placeholder="Password" class="loginPassword"> <div class="logControl"> <div class="memory"><div class="checker" id="uniform-remember2"><span><input type="checkbox" checked="checked" class="check" id="remember2" style="opacity: 0;"></span></div><label for="remember2">Remember me</label></div> <input type="submit" name="submit" value="Login" class="buttonM bBlue"> </div> </form> </div>
Güzel javascript ile effectler teşekkürler.
Kodlama yapmak oldukça zordur. Bu işin ehli arkadaşları gerçekten tebrik ediyorum.