今天仿制了Twitter的登录表单,除了大背景是使用的img,其他都是纯CSS3代码实现。整个效果使用了Bootstrap的表单风格,并且运用box-sizing改变了元素默认的box module风格,同时使用了CSS3的gradient、box-shadow和text-shadow制作了其他效果。具体请查看相关代码。
HTML 结构
<form class="form"> <h1><span class="log-in">Log in</span> or <span class="sign-up">sign up</span></h1> <p class="float"> <label for="login"><i class="icon-user"></i>Username</label> <input type="text" name="login" placeholder="Username or email"> </p> <p class="float"> <label for="password"><i class="icon-lock"></i>Password</label> <input type="password" name="password" placeholder="Password" class="showpassword"> </p> <p class="opt"> <input type="checkbox" class="showpasswordcheckbox" id="showPassword"> <label for="showPassword">Show password</label> </p> <p class="clearfix"> <a href="#" class="log-twitter">Log in with Twitter</a> <input type="submit" name="submit" value="Log in"> </p> </form>
CSS 代码
*, ::after, ::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; } body { background: #E1C192 url(wood_pattern.jpg); } .form { width: 340px; margin: 60px auto 30px; padding: 15px; position: relative; background: #fffaf6; border-radius: 4px; color: #7e7975; box-shadow:0 2px 2px rgba(0,0,0,0.2),0 1px 5px rgba(0,0,0,0.2), 0 0 0 12px rgba(255,255,255,0.4); } .form h1 { font-size: 15px; line-height:1; font-weight: bold; color: #bdb5aa; padding-bottom: 8px; border-bottom: 1px solid #EBE6E2; text-shadow: 0 2px 0 rgba(255,255,255,0.8); box-shadow: 0 1px 0 rgba(255,255,255,0.8); } .form h1 .log-in, .form h1 .sign-up { display: inline-block; text-transform: uppercase; } .form h1 .log-in { color: #6c6763; padding-right: 2px; } .form h1 .sign-up { color: #ffb347; padding-left: 2px; } .form .float { width: 50%; float: left; padding-top: 15px; border-top: 1px solid rgba(255,255,255,1); } .form .float:first-of-type { padding-right: 5px; } .form .float:last-of-type { padding-left: 5px; } .form label { display: block; padding: 0 0 5px 2px; cursor: pointer; text-transform: uppercase; font-weight: 400; text-shadow: 0 1px 0 rgba(255,255,255,0.8); font-size: 11px; } .form label i { margin-right: 5px; /* Gap between icon and text */ display: inline-block; width: 10px; } .form input[type=text], .form input[type=password] { font: 400 13px 'Lato', Calibri, Arial, sans-serif; display: block; width: 100%; padding: 5px; margin-bottom: 5px; border: 3px solid #ebe6e2; border-radius: 5px; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } .form input[type=text]:hover, .form input[type=password]:hover { border-color: #CCC; } .form label:hover ~ input { border-color: #CCC; } .form input[type=text]:focus, .form input[type=password]:focus { border-color: #BBB; outline: none; /* Remove Chrome's outline */ } .form input[type=submit], .form .log-twitter { width: 49%; height: 38px; float: left; position: relative; box-shadow: inset 0 1px rgba(255,255,255,0.3); border-radius: 3px; cursor: pointer; font:bold 14px/38px 'Lato', Calibri, Arial, sans-serif ; text-align: center; } .form input[type=submit] { margin-left: 1%; background: #fbd568; /* Fallback */ background: -moz-linear-gradient(#fbd568, #ffb347); background: -ms-linear-gradient(#fbd568, #ffb347); background: -o-linear-gradient(#fbd568, #ffb347); background: -webkit-gradient(linear, 0 0, 0 100%, from(#fbd568), to(#ffb347)); background: -webkit-linear-gradient(#fbd568, #ffb347); background: linear-gradient(#fbd568, #ffb347); border: 1px solid #f4ab4c; color: #996319; text-shadow: 0 1px rgba(255,255,255,0.3); } .form .log-twitter { margin-right: 1%; background: #34a5cf; /* Fallback */ background: -moz-linear-gradient(#34a5cf, #2a8ac4); background: -ms-linear-gradient(#34a5cf, #2a8ac4); background: -o-linear-gradient(#34a5cf, #2a8ac4); background: -webkit-gradient(linear, 0 0, 0 100%, from(#34a5cf), to(#2a8ac4)); background: -webkit-linear-gradient(#34a5cf, #2a8ac4); background: linear-gradient(#34a5cf, #2a8ac4); border: 1px solid #2b8bc7; color: #ffffff; text-shadow: 0 -1px rgba(0,0,0,0.3); text-decoration: none; } .form input[type=submit]:hover, .form .log-twitter:hover { box-shadow:inset 0 1px rgba(255,255,255,0.3), inset 0 20px 40px rgba(255,255,255,0.15); } .form input[type=submit]:active, .form .log-twitter:active{ top: 1px; } /* Fallback fro broswers that don't support box shadows */ .no-boxshadow .form input[type=submit]:hover { background: #ffb347; } .no-boxshadow .form .log-twitter:hover { background: #2a8ac4; } .form p:last-of-type { clear: both; } .form .opt { text-align: right; margin-right: 3px; } .form label[for=showPassword] { display: inline-block; margin-bottom: 10px; font-size: 11px; font-weight: 400; text-transform: capitalize; } .form input[type=checkbox] { vertical-align: middle; margin: -1px 5px 0 1px; }
注:效果中的icon是调用了bootstrap的icon制作:
<link rel="stylesheet" href="font-awesome.css" />
如需转载,烦请注明出处:http://www.w3cplus.com/demo/twitter-login-or-signup-form-with-css3.html