jQuery+HTML5实现的下拉式登录窗口

2011-11-05 14:34:28 | 【

本例实现了点击下拉弹出登录界面的效果,整个界面华丽美观,没有使用任何图片,效果全部依靠HTML5+CSS3制作,非常了得

查看演示页面 View Demo 查看全部代码 View Code

样式及脚本定义如下:

<style>

		article, aside, details, figcaption, figure, 

		footer, header, hgroup, menu, nav, section {

		  display: block;

		}

		

		fieldset

		{

		  margin: 0;

		  padding: 0;

		  border: 0;

		}

		

		input:focus,textarea:focus {

		  outline: none;

		}

		

		/*----------------------*/

		

		body

		{

			font-family: Arial, Helvetica, sans-serif;

			color: #444;

			background: #eee ;

			margin: 0;

			font-size: 12px;

		}     

		

		/*----------------------*/

		

		.cf:before,

		.cf:after {

		  content:"";

		  display:table;

		}

		

		.cf:after {

		  clear:both;

		}

		

		.cf {

		  zoom:1;

		}

		  

		/*----------------------*/

		

		header {

		  padding: 8px 10%;

		  border-bottom: 1px solid #fff;

		  background-color: #777;

		  background-image: -webkit-gradient(linear, left top, left bottom, from(#777), to(#555));

		  background-image: -webkit-linear-gradient(top, #777, #555);

		  background-image: -moz-linear-gradient(top, #777, #555);

		  background-image: -ms-linear-gradient(top, #777, #555);

		  background-image: -o-linear-gradient(top, #777, #555);

		  background-image: linear-gradient(top, #777, #555);

		  -moz-box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;

		  -webkit-box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;

		  box-shadow: 0 -3px 3px rgba(0,0,0,.5) inset;

		}

		

		/*----------------------*/

		

		nav ul {

		  margin: 0;

		  padding: 0;

		  list-style: none;

		  position: relative;

		  float: right;

		  background: #eee;

		  border-bottom: 1px solid #fff;

		  -moz-border-radius: 3px;

		  -webkit-border-radius: 3px;

		  border-radius: 3px;    

		}

		

		nav li {

		  float: left;          

		}

		

		nav #login {

		  border-right: 1px solid #ddd;

		  -moz-box-shadow: 1px 0 0 #fff;

		  -webkit-box-shadow: 1px 0 0 #fff;

		  box-shadow: 1px 0 0 #fff;  

		}

		

		nav #login-trigger,

		nav #signup a {

		  display: inline-block;

		  *display: inline;

		  *zoom: 1;

		  height: 25px;

		  line-height: 25px;

		  font-weight: bold;

		  padding: 0 8px;

		  text-decoration: none;

		  color: #444;

		  text-shadow: 0 1px 0 #fff; 

		}

		

		nav #signup a {

		  -moz-border-radius: 0 3px 3px 0;

		  -webkit-border-radius: 0 3px 3px 0;

		  border-radius: 0 3px 3px 0;

		}

		

		nav #login-trigger {

		  -moz-border-radius: 3px 0 0 3px;

		  -webkit-border-radius: 3px 0 0 3px;

		  border-radius: 3px 0 0 3px;

		}

		

		nav #login-trigger:hover,

		nav #login .active,

		nav #signup a:hover {

		  background: #fff;

		}

		

		nav #login-content {

		  display: none;

		  position: absolute;

		  top: 24px;

		  right: 0;

		  z-index: 999;    

		  background: #fff;

		  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));

		  background-image: -webkit-linear-gradient(top, #fff, #eee);

		  background-image: -moz-linear-gradient(top, #fff, #eee);

		  background-image: -ms-linear-gradient(top, #fff, #eee);

		  background-image: -o-linear-gradient(top, #fff, #eee);

		  background-image: linear-gradient(top, #fff, #eee);  

		  padding: 15px;

		  -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);

		  -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);

		  box-shadow: 0 2px 2px -1px rgba(0,0,0,.9);

		  -moz-border-radius: 3px 0 3px 3px;

		  -webkit-border-radius: 3px 0 3px 3px;

		  border-radius: 3px 0 3px 3px;

		}

		

		nav li #login-content {

		  right: 0;

		  width: 250px;  

		}

		

		/*--------------------*/

		

		#inputs input {

		  background: #f1f1f1;

		  padding: 6px 5px;

		  margin: 0 0 5px 0;

		  width: 238px;

		  border: 1px solid #ccc;

		  -moz-border-radius: 3px;

		  -webkit-border-radius: 3px;

		  border-radius: 3px;

		  -moz-box-shadow: 0 1px 1px #ccc inset;

		  -webkit-box-shadow: 0 1px 1px #ccc inset;

		  box-shadow: 0 1px 1px #ccc inset;

		}

		

		#inputs input:focus {

		  background-color: #fff;

		  border-color: #e8c291;

		  outline: none;

		  -moz-box-shadow: 0 0 0 1px #e8c291 inset;

		  -webkit-box-shadow: 0 0 0 1px #e8c291 inset;

		  box-shadow: 0 0 0 1px #e8c291 inset;

		}

		

		/*--------------------*/

		

		#login #actions {

		  margin: 10px 0 0 0;

		}

		

		#login #submit {		

		  background-color: #d14545;

		  background-image: -webkit-gradient(linear, left top, left bottom, from(#e97171), to(#d14545));

		  background-image: -webkit-linear-gradient(top, #e97171, #d14545);

		  background-image: -moz-linear-gradient(top, #e97171, #d14545);

		  background-image: -ms-linear-gradient(top, #e97171, #d14545);

		  background-image: -o-linear-gradient(top, #e97171, #d14545);

		  background-image: linear-gradient(top, #e97171, #d14545);

		  -moz-border-radius: 3px;

		  -webkit-border-radius: 3px;

		  border-radius: 3px;

		  text-shadow: 0 1px 0 rgba(0,0,0,.5);

		  -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;

		  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;

		  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;    

		  border: 1px solid #7e1515;

		  float: left;

		  height: 30px;

		  padding: 0;

		  width: 100px;

		  cursor: pointer;

		  font: bold 14px Arial, Helvetica;

		  color: #fff;

		}

		

		#login #submit:hover,

		#login #submit:focus {		

		  background-color: #e97171;

		  background-image: -webkit-gradient(linear, left top, left bottom, from(#d14545), to(#e97171));

		  background-image: -webkit-linear-gradient(top, #d14545, #e97171);

		  background-image: -moz-linear-gradient(top, #d14545, #e97171);

		  background-image: -ms-linear-gradient(top, #d14545, #e97171);

		  background-image: -o-linear-gradient(top, #d14545, #e97171);

		  background-image: linear-gradient(top, #d14545, #e97171);

		}	

		

		#login #submit:active {		

		  outline: none;

		  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;

		  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;

		  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;		

		}

		

		#login #submit::-moz-focus-inner {

		  border: none;

		}

		

		#login label {

		  float: right;

		  line-height: 30px;

		}

		

		#login label input {

		  position: relative;

		  top: 2px;

		  right: 2px;

		}

		

		/*--------------------*/

		

		#about {

			margin: 15px;

		}

		

		#about a {

			color: #555;

		}

	</style>

	<!--[if lt IE 9]>

		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

	<![endif]-->		

	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

	<script>

		  $(document).ready(function(){

				$('#login-trigger').click(function(){

					$(this).next('#login-content').slideToggle();

					$(this).toggleClass('active');					

					

					if ($(this).hasClass('active')) $(this).find('span').html('▲')

						else $(this).find('span').html('▼')

					})

		  });

	</script>


HTML代码定义如下:


<header class="cf">

<nav>

	<ul>

		<li id="login">

			<a id="login-trigger" href="#">

				Log in <span>▼</span>

			</a>

			<div id="login-content">

				<form>

					<fieldset id="inputs">

						<input id="username" type="email" name="Email" placeholder="Your email address" required>   

						<input id="password" type="password" name="Password" placeholder="Password" required>

					</fieldset>

					<fieldset id="actions">

						<input type="submit" id="submit" value="Log in">

						<label><input type="checkbox" checked="checked"> Keep me signed in</label>

					</fieldset>

				</form>

			</div>                     

		</li>

		<li id="signup">

			<a href="">Sign up FREE</a>

		</li>

	</ul>

</nav>

</header>


注:需要浏览器支持HTML5+CSS3

下载"jQuery+HTML5实现的下拉式登录窗口"

  • 本地下载
  • 本地下载2

相关资源