Does this need explanation? (Updated 1/28/2016)
A Pen by Miro Karilahti on CodePen.
| <div class="login"> | |
| <div class="login-triangle"></div> | |
| <h2 class="login-header">Log in</h2> | |
| <form class="login-container"> | |
| <p><input type="email" placeholder="Email"></p> | |
| <p><input type="password" placeholder="Password"></p> | |
| <p><input type="submit" value="Log in"></p> | |
| </form> | |
| </div> |
Does this need explanation? (Updated 1/28/2016)
A Pen by Miro Karilahti on CodePen.
| <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
| /** | |
| * 01/28/2016 | |
| * This pen is years old, and watching at the code after all | |
| * those years made me fall from my chair, so I: | |
| * - changed all IDs to classes | |
| * - converted all units to pixels and em units | |
| * - changed all global elements to classes or children of | |
| * .login | |
| * - cleaned the syntax to be more consistent | |
| * - added a lot of spaces that I so hard tried to avoid | |
| * a few years ago | |
| * (because it's cool to not use them) | |
| * - and probably something else that I can't remember anymore | |
| * | |
| * I sticked to the same philosophy, meaning: | |
| * - the design is almost the same | |
| * - only pure HTML and CSS | |
| * - no frameworks, preprocessors or resets | |
| */ | |
| /* 'Open Sans' font from Google Fonts */ | |
| @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700); | |
| body { | |
| background: #456; | |
| font-family: 'Open Sans', sans-serif; | |
| } | |
| .login { | |
| width: 400px; | |
| margin: 16px auto; | |
| font-size: 16px; | |
| } | |
| /* Reset top and bottom margins from certain elements */ | |
| .login-header, | |
| .login p { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| } | |
| /* The triangle form is achieved by a CSS hack */ | |
| .login-triangle { | |
| width: 0; | |
| margin-right: auto; | |
| margin-left: auto; | |
| border: 12px solid transparent; | |
| border-bottom-color: #28d; | |
| } | |
| .login-header { | |
| background: #28d; | |
| padding: 20px; | |
| font-size: 1.4em; | |
| font-weight: normal; | |
| text-align: center; | |
| text-transform: uppercase; | |
| color: #fff; | |
| } | |
| .login-container { | |
| background: #ebebeb; | |
| padding: 12px; | |
| } | |
| /* Every row inside .login-container is defined with p tags */ | |
| .login p { | |
| padding: 12px; | |
| } | |
| .login input { | |
| box-sizing: border-box; | |
| display: block; | |
| width: 100%; | |
| border-width: 1px; | |
| border-style: solid; | |
| padding: 16px; | |
| outline: 0; | |
| font-family: inherit; | |
| font-size: 0.95em; | |
| } | |
| .login input[type="email"], | |
| .login input[type="password"] { | |
| background: #fff; | |
| border-color: #bbb; | |
| color: #555; | |
| } | |
| /* Text fields' focus effect */ | |
| .login input[type="email"]:focus, | |
| .login input[type="password"]:focus { | |
| border-color: #888; | |
| } | |
| .login input[type="submit"] { | |
| background: #28d; | |
| border-color: transparent; | |
| color: #fff; | |
| cursor: pointer; | |
| } | |
| .login input[type="submit"]:hover { | |
| background: #17c; | |
| } | |
| /* Buttons' focus effect */ | |
| .login input[type="submit"]:focus { | |
| border-color: #05a; | |
| } |