论坛首页 Web前端技术论坛

超酷HTML5和CSS3实现的登录及其注册功能表单

浏览 8638 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-04-10  

超酷HTML5和CSS3实现的登录及其注册功能表单

在线演示  本地下载

过去我们开发登录和注册功能大都使用javascript来实现,今天我们介绍的这个登录及其注册表单不走常人路,使用纯CSS3和HTML5来实现同样的功能。

这里我们使用CSS3的伪类:target。我们使用CSS3和图标字体。主要的想法是展示登录表单并且提供一个链接可以转向注册表单。

请大家注意这里只是一个简单的演示,不是所有的浏览器都支持:target,如果你需要在产品环境中使用,你需要使用对应的代码来处理对于老浏览器支持的fallback。

HTML

在html代码中,我们构建俩个表单并且把第二个表单隐藏。如下:

<div id="container_demo" >
    <!-- hidden anchor to stop jump http://www.css3create.com/Astuce-Empecher-le-scroll-avec-l-utilisation-de-target#wrap4  -->
    <a class="hiddenanchor" id="toregister"></a>
    <a class="hiddenanchor" id="tologin"></a>
    <div id="wrapper">
        <div id="login" class="animate form">
            <form  action="mysuperscript.php" autocomplete="on">
                <h1>Log in</h1>
                <p>
                    <label for="username" class="uname" data-icon="u" > Your email or username </label>
                    <input id="username" name="username" required="required" type="text" placeholder="myusername or mymail@mail.com"/>
                </p>
                <p>
                    <label for="password" class="youpasswd" data-icon="p"> Your password </label>
                    <input id="password" name="password" required="required" type="password" placeholder="eg. X8df!90EO" />
                </p>
                <p class="keeplogin">
                    <input type="checkbox" name="loginkeeping" id="loginkeeping" value="loginkeeping" />
                    <label for="loginkeeping">Keep me logged in</label>
                </p>
                <p class="login button">
                    <input type="submit" value="Login" />
                </p>
                <p class="change_link">
                    Not a member yet ?
                    <a href="#toregister" class="to_register">Join us</a>
                </p>
            </form>
        </div>
 
        <div id="register" class="animate form">
            <form  action="mysuperscript.php" autocomplete="on">
                <h1> Sign up </h1>
                <p>
                    <label for="usernamesignup" class="uname" data-icon="u">Your username</label>
                    <input id="usernamesignup" name="usernamesignup" required="required" type="text" placeholder="mysuperusername690" />
                </p>
                <p>
                    <label for="emailsignup" class="youmail" data-icon="e" > Your email</label>
                    <input id="emailsignup" name="emailsignup" required="required" type="email" placeholder="mysupermail@mail.com"/>
                </p>
                <p>
                    <label for="passwordsignup" class="youpasswd" data-icon="p">Your password </label>
                    <input id="passwordsignup" name="passwordsignup" required="required" type="password" placeholder="eg. X8df!90EO"/>
                </p>
                <p>
                    <label for="passwordsignup_confirm" class="youpasswd" data-icon="p">Please confirm your password </label>
                    <input id="passwordsignup_confirm" name="passwordsignup_confirm" required="required" type="password" placeholder="eg. X8df!90EO"/>
                </p>
                <p class="signin button">
                    <input type="submit" value="Sign up"/>
                </p>
                <p class="change_link">
                    Already a member ?
                    <a href="#tologin" class="to_register"> Go and log in </a>
                </p>
            </form>
        </div>
    </div>
</div> 

我 们在这里添加了HTML5相关元素,并且使用了一些新的输入控件。input=password自动隐藏用户输入。input=email使得浏览器检查 是否用户输入是正确的email。同时我们添加了require=required属性。支持这个属性的浏览器将不允许用户递交表单除非所有的输入区域都 是正确,大家可能注意到这里不需要使用javascript。autocomplete=on属性将会基于用户输入预先的填入内容。我们同时也可以使用一 些不错的placeholder来提示用户应该输入的内容。

接下来可能是俩个比较有趣的部分。你或许注意到了顶端的俩个<a href>链接。这是一个能够帮助我们的表单更加方便的使用anchor处理的小技巧,这样当我们点击切换链接并且触发:target的时候将不会跨越很长的页面。

第二个小技巧是使用icon字体。我们将会使用一个data-attribute来展示图标。通过使用对应的字符来设定data-icon="icon_charactoer",我们只需要一个CSS属性选择器来样式化所有的图标。如果你对这个有兴趣,可以阅读:24 Ways: Displaying Icons with Fonts and Data- Attributes

CSS

为了使得代码更加清晰,在教程里我们忽略了浏览器提供商指定的前缀, 当然你可以在对应代码中找到相关的设定。当然我们使用了很多不错的CSS3技巧可能不在所有的浏览器中生效。

俩个表单的样式

首先我们配置容器的样式:

#subscribe,
#login{
    position: absolute;
    top: 0px;
    width: 88%;
    padding: 18px 6% 60px 6%;
    margin: 0 0 35px 0;
    background: rgb(247, 247, 247);
    border: 1px solid rgba(147, 184, 189,0.8);
    box-shadow:
        0pt 2px 5px rgba(105, 108, 109,  0.7),
        0px 0px 8px 5px rgba(208, 223, 226, 0.4) inset;
    border-radius: 5px;
}
#login{
    z-index: 22;
}

这里我们添加了一个漂亮的盒式阴影(box shadow)来创建2个阴影:一个inset用来创建内部蓝色,还有一个外部阴影。这里我们稍微解释一下z-index。

...

内容太多无法都粘贴,有兴趣的可以去原文查看。

原文来自:超酷HTML5和CSS3实现的登录及其注册功能表单

   发表时间:2012-04-11  
经常看你发好贴啊。

‘大姐’, 我要学html5,你收了我吧。。。加我Q,254918099.

我只有晚上才上,白天禁Q。
0 请登录后投票
   发表时间:2012-04-11  
泡咖啡 写道
经常看你发好贴啊。

‘大姐’, 我要学html5,你收了我吧。。。加我Q,254918099.

我只有晚上才上,白天禁Q。



知道他是伪大姐,还要他收,难道你是。。。。。
0 请登录后投票
   发表时间:2012-04-11  
_mjhx 写道
泡咖啡 写道
经常看你发好贴啊。

‘大姐’, 我要学html5,你收了我吧。。。加我Q,254918099.

我只有晚上才上,白天禁Q。



知道他是伪大姐,还要他收,难道你是。。。。。


基友,你懂的 
0 请登录后投票
   发表时间:2012-04-11  
兄弟姐妹们,我不是伪大姐,我是真大姐!我是个84年的假大姐!哈哈
我有个QQ,有兴趣加进来啊!QQ:90484543


泡咖啡 写道
_mjhx 写道
泡咖啡 写道
经常看你发好贴啊。

‘大姐’, 我要学html5,你收了我吧。。。加我Q,254918099.

我只有晚上才上,白天禁Q。



知道他是伪大姐,还要他收,难道你是。。。。。


基友,你懂的 


0 请登录后投票
   发表时间:2012-04-11   最后修改:2012-04-12
我也有QQ,大家相互切磋啊,我也常看别的帖子,非常好啊。QQ qun:90484543

泡咖啡 写道
经常看你发好贴啊。

‘大姐’, 我要学html5,你收了我吧。。。加我Q,254918099.

我只有晚上才上,白天禁Q。

0 请登录后投票
   发表时间:2012-05-07  
确实是一个非常beautiful的登陆~~~
0 请登录后投票
   发表时间:2012-05-09  
HTML5做出来的登录界面果然漂亮,学些了
0 请登录后投票
   发表时间:2012-05-13  
看着真的很漂亮,但是表示对这些新技术感兴趣,也想自己能掌握
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics