网页制作:一个简易美观的登录界面

网页制作:一个简易美观的登录界面这次来总结一下公司的Task1实现一个登录界面。登录界面其实在大三的时候就有做过,但是当时做的界面超级low,主要区别在于有无css,由于公司的设计要求,对于该界面的很多细节处理实在不容易。所以,还是想要写点东西记录一下。先截个图,展示一下效果吧:然后我们看一下代码:在我们做一个页面之前,要先想好他的一个整体布局,也就是我们这里面的login.html主页面,大致结构如…

大家好,又见面了,我是你们的朋友全栈君。

这次来总结一下公司的Task 1 实现一个登录界面。

登录界面其实在大三的时候就有做过,但是当时做的界面超级low,主要区别在于有无css,由于公司的设计要求,对于该界面的很多细节处理实在不容易。所以,还是想要写点东西记录一下。

先截个图,展示一下效果吧:

网页制作:一个简易美观的登录界面

然后我们看一下代码:

网页制作:一个简易美观的登录界面

在我们做一个页面之前,要先想好他的一个整体布局,也就是我们这里面的login.html主页面,大致结构如下:

网页制作:一个简易美观的登录界面

接下来,我们先上代码,看一下具体实现方法:

login.html

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>

    <link rel="stylesheet" type="text/css" href="login.css"/>
    <script type="text/javascript" src="login.js"></script>
</head>

<body>
<div id="login_frame">

    <p id="image_logo"><img src="images/login/fly.png"></p>

    <form method="post" action="login.js">

        <p><label class="label_input">用户名</label><input type="text" id="username" class="text_field"/></p>
        <p><label class="label_input">密码</label><input type="text" id="password" class="text_field"/></p>

        <div id="login_control">
            <input type="button" id="btn_login" value="登录" onclick="login();"/>
            <a id="forget_pwd" href="forget_pwd.html">忘记密码?</a>
        </div>
    </form>
</div>

</body>
</html>

 

说明:

在这个html里面,我们主要对登录界面进行了整体布局规划,利用div将内部的窗口、图片、标签、输入框、按钮、链接进行分块,这样方便我们之后用css对其进行准确的调位置、调边距。同时也对重要的几个东西设置了id和class,这也是方便我们之后用css对其进行准确的调颜色、调字体。

 

 

login.js

/**
 * Created by Kay on 2016/3/8.
 */
function login() {

    var username = document.getElementById("username");
    var pass = document.getElementById("password");

    if (username.value == "") {

        alert("请输入用户名");

    } else if (pass.value  == "") {

        alert("请输入密码");

    } else if(username.value == "admin" && pass.value == "123456"){

        window.location.href="welcome.html";

    } else {

        alert("请输入正确的用户名和密码!")

    }
}

说明:

这个js是用来判断用户名和密码是否正确的,实现起来还算简单。

可以记一下,界面跳转的语句

window.location.href=”welcome.html”;

其次就是对输入框的返回值的获取,这里我们用到了document.getElementById的知识点,通过document的对象方法来获得指定ID值的对象。这里要注意是byId,所以前面的html里的username和password要设id值,而不是name值,不然获取不到的!

关于document的介绍可以点击该链接:详解JavaScript Document对象

 

 

login.css

 

body {
    background-image: url("images/login/loginBac.jpg");;
    background-size: 100%;
    background-repeat: no-repeat;
}

#login_frame {
    width: 400px;
    height: 260px;
    padding: 13px;

    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -200px;
    margin-top: -200px;

    background-color: rgba(240, 255, 255, 0.5);

    border-radius: 10px;
    text-align: center;
}

form p > * {
    display: inline-block;
    vertical-align: middle;
}

#image_logo {
    margin-top: 22px;
}

.label_input {
    font-size: 14px;
    font-family: 宋体;

    width: 65px;
    height: 28px;
    line-height: 28px;
    text-align: center;

    color: white;
    background-color: #3CD8FF;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.text_field {
    width: 278px;
    height: 28px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border: 0;
}

#btn_login {
    font-size: 14px;
    font-family: 宋体;

    width: 120px;
    height: 28px;
    line-height: 28px;
    text-align: center;

    color: white;
    background-color: #3BD9FF;
    border-radius: 6px;
    border: 0;

    float: left;
}

#forget_pwd {
    font-size: 12px;
    color: white;
    text-decoration: none;
    position: relative;
    float: right;
    top: 5px;

}

#forget_pwd:hover {
    color: blue;
    text-decoration: underline;
}

#login_control {
    padding: 0 28px;
}

说明:

 

这个css就是最难部分了,界面之所以能达到如此美观的效果,比如登录的窗口要在屏幕居中显示、背景透明、框的四个角要有一点弧度、登录按钮与输入框上下对齐等等。

摘要:

①让背景图片拉伸且占据整个屏幕

background-size: 100%;
background-repeat: no-repeat;

 

②让一个div块在整个屏幕居中

width: 400px;
height: 260px;
padding: 13px;
position: absolute;
left: 50%;
top: 50%;

margin-left: -200px;

margin-top: -200px

(其中的margin-left:和margin-top最好是设为width和height的一半值,那样是完全居中的效果,当然记得前面要加个负号!)

 

设置圆角

text-align: center;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;

 

④设置背景颜色且加透明效果

background-color: rgba(240, 255, 255, 0.5);

 

⑤让输入框和label对齐居中:

form p > * {

    display: inline-block;
    vertical-align: middle;
}

 

去除链接的下划线

text-decoration: underline;

 

7、给一个label或者button里面的文字设置居中:

   width: 120px;
   height: 28px;
   line-height: 28px;
   text-align: center;

(需要设置line-height 其值等于 height 也就是字的行高等于它所在的label、button的高!)

 

8、给“登录”和“忘记密码”的中间设置间距

先在html里给他们绑定一块div:

<div id=”login_control”>
      <input type=”button” id=”btn_login” value=”登录” οnclick=”login();”/>
      <a id=”forget_pwd” href=”forget_pwd.html”>忘记密码?</a>
 </div>

然后在css里设置一下padding:

#login_control {

    padding: 0 28px;
}

 

该例子的代码为您提供免费下载,下载地址:点击打开链接

(另外,该案列的升级版,也就是稍微复杂一点的登录界面,可点此处下载代码:点击打开链接2.0版

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么开发微信公众帐号_建立微信公众号收费吗

    怎么开发微信公众帐号_建立微信公众号收费吗微信公众账号的注册流程(图文详解)

    2022年8月3日
    8
  • PHP操作mysql数据库:[2]查询数据听语音

    PHP操作mysql数据库:[2]查询数据听语音

    2022年2月23日
    55
  • Jmeter的正则表达式提取参数「建议收藏」

    Jmeter的正则表达式提取参数「建议收藏」1:Jmeter正则表达式提取器提取制定的值1.1:添加http请求(80端口不用写端口号)1.2:添加正则表达式提取器.表示匹配任意字符+表示匹配一个或者多个?表示匹配到结束为止PS:下面的正则表达式还可以写成province:'([^’]+)’,       表示:[^’]匹配到不是单引号’;+表示它内的多个字符1.3:添加Debugsampler(用Debug取样器可以方便tes…

    2025年10月21日
    3
  • 代理IP池(sqlmap外部代理ip池)

    这些公共代理是完全免费提供的,不需要任何授权。免费代理通常是开放的、流行的公共代理。与私人代理不同,公共代理不需要注册或密码。事实上,它们是负责安装在计算机上的代理服务器并且不关心更改默认设置的系统管理员的错误或疏忽。因此,服务器通过特殊的扫描仪快速定位到网络中,成为渴望匿名的公众的财产。这些信息足以安全地浏览全球网络,而无需显示您的真实IP地址。这些代理有很大的优势:他们有一个简单的设置-这些代理不需要授权并且设置简单他们是免费的!没有流量限制或使用目的但是,除了所有这些优点之外,这

    2022年4月14日
    209
  • api接口对接_接口API

    api接口对接_接口API[TOC]api接口对接json模块总结:md5加密:双重加密:加盐:测试实列:

    2022年8月4日
    8
  • 什么是路由懒加载_react 路由懒加载

    什么是路由懒加载_react 路由懒加载路由懒加载:整个网页默认是刚打开就去加载所有页面,路由懒加载就是只加载你当前点击的那个模块。按需去加载路由对应的资源,提高首屏加载速度(tip:首页不用设置懒加载,而且一个页面加载过后再次访问不会重复加载)。实现原理:将路由相关的组件,不再直接导入了,而是改写成异步组件的写法,只有当函数被调用的时候,才去加载对应的组件内容。传统路由配置:importVuefrom’vue’importVueRouterfrom’vue-router’importLoginfro

    2022年10月7日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号