美文网首页
(9) 手把手做一个登录页,详细,多图!

(9) 手把手做一个登录页,详细,多图!

作者: 许国标 | 来源:发表于2020-04-10 15:23 被阅读0次

    目标:从零开始实现一个登录页,体验真正的程序开发

    好久没来了,最近也是比较忙(懒)。

    看到这个标题,可能有些同学会很失望:都学到第9章了,才搞个登录页? 未免有些太低端了吧!

    其实,看似简单的登录页,并不简单,要注意的地方不少,下面我们一步一步来体验下。

    本章会有比较多的布局/调样式的内容,如果对css不了解,建议先花点时间看一下这个教程

    https://www.runoob.com/css/css-tutorial.html

    本来也想把css单独做一篇来讲的,但是这个教程写的太好了,自己再啰嗦没有意义

    代码部分接上回,先把views/Login.vue这个文件备份下,之前我们在里面写了点东西的,不要浪费了。

    然后把Login.vue里面的代码删掉,像这样

    运行yarn serve启动服务,访问地址http://localhost:8080/#/login,可以看到一个空白页面。

    现在我们往里面填东西,最基本的想法是要有用户名和密码的输入框,还要一个登录按钮。

    之前说过,提交内容一般用表单。

    打开element表单的文档 https://element.eleme.cn/#/zh-CN/component/form

    把这个典型表单的代码抄进去,像这样

    保存,刷新浏览器页面,已经看到内容了,很顺利

    但是这个输入框有点太长了,占满了整个浏览器,有点难看。

    我们先在表单上加点样式,把尺寸弄小点。el-form标签上添加class

    然后在style区域添加css样式,设置宽度400像素,高度300像素。

    (如果这个样式表看不懂,建议先去看我上面推荐的css教程,翻一翻有个大概印象)

    保存,再看看页面,好看很多了有没有

    现在我们把里面乱七八糟的东西干掉,只留两个输入框,一个按钮

    再看看页面,有点形状了!

    试试在用户名这里输入点东西看看,发现密码框的内容也会自动同步

    这是因为密码输入框的v-model和用户名的一样,绑定了相同的数据源。

    试试把这个v-model删掉看看,发现密码输入框都不能输入了!

    我们把数据源定义这里改一下,增加password,不要的都干掉,像这样

    同时,密码输入框的v-model改成form.password

    再看看页面,可以愉快的输入了

    但是这个密码,有点尴尬,没有显示成星号,问题不大,把type设置成password就好了

    这里我还加了个show-password,这样最右侧会出来一个小图标,可以显示和隐藏密码,看起来很专业!

    现在还有个小问题,就是我们的表单挤在左上角,有点难看。一般来说都是居中的

    我们来调下样式表,设置表单的位置,像这样。(position这个样式建议仔细看看教程)

    再看下页面,貌似剧中了,其实有点歪,表单的左上角这个点是居中的,整体偏右下

    现在我们用外边距margin,把这个偏移量校正

    注意这个写法,偏移量是表单尺寸的一半。不管屏幕尺寸怎么调整,都是可以正好居中的。

    太棒了! 可以自动居中,还能自适应屏幕尺寸,很不错。

    再观察下我们这个页面,大面积惨白的背景,显得有点单调,试着加个背景色看看。

    我们先在表单元素的最外面,加一个div,然后把这个div设置成全屏幕那么大,再加上背景样式就好了

    样式如下

    观察下效果,比之前还难看了!表单内容看不清了, 而且左侧和头上都有漏风

    先解决漏风的问题,在.bgDiv里面加上 left:0px;top:0px; 把这个div对齐到最角上,问题解决。

    再解决表单难看的问题,现在表单是继承了.bgDiv的背景色,我们给他也加一个不一样的背景

    效果如下,有点难看!

    继续调样式,加上内边距padding,把表单里的子元素,和表单边框分开点

    再看看,舒服多了,但是我们这个表单,像一张纸漂在上面,没有质感

    现在我们给表单加个边框,显得厚重一点

    再观察下,有点进步了

    我们再给边框加个阴影,加强立体感

    有点立体感了

    现在系统没有名字,我们给加个标题

    样式不能少

    看看现在的效果,label和标题不对齐,有点难看

    把label改成placeholder,代码如下

    页面效果

    现在登录按钮显得有点可怜,用样式把宽度设成100%

    看看效果,整齐了

    再优化一下,给两个输入框加上图标(参考element文档:https://element.eleme.cn/#/zh-CN/component/icon

    再瞅瞅,图标有了。但是这个大片蓝色的背景,还是丑,很单调

    我们把这个背景改成渐变色试试(渐变色除了线性的,还可以设置径向,可以自己看教程试试效果)

    再看效果,感觉舒服太多了! 彻底摆脱了丑陋

    更多的时候,我们是放一张背景图,我们试一下

    先找一张图片放到这里

    然后在背景的div上加:style="{backgroundImage:'url('+require('@/assets/bg.jpg')+')'}"

    这里是动态加载的图片,不用require直接在css里面写路径是不行的(也可能有好办法我没找到)

    样式里面,设置图片不重复,完全覆盖

    看看效果,还不错,科技风。

    背景图也可以弄一个很小的图片,设置成repeat,这样可以省流量,多大屏幕都不会模糊。自己可以体验下

    现在我们把多语言加进去,没这个显得不太专业 (LangSelect.vue是之前做的模块,正好用上)

    设置下样式,把这个下拉框摆到右边,和输入框右对齐

    看看样子,很不错

    不过我们现在页面上的字符串都是写死的中文,下拉框点了没起作用

    改成多语言的写法,资源文件里别忘了 (参考下第4章)

    再看看,多语言有了,高大上!

    如果是面向互联网的系统,一般都会有忘记密码和新用户注册的功能,我们给他加上

    弄两个文字按钮,放到登录按钮下面,靠右就行了

    (之前设置的窗口高度有点大,从300px调整到240了)

    写样式的时候,代码放置的顺序,最好和元素在页面上的顺序一致。

    因为样式会越来越多,乱放的话自己找起来麻烦

    看一下,是不是像一个能交差的作品了?

    外观上看是不差了,但是有个大问题,就是没有任何功能! 点了登录按钮啥也不能干。

    不过,贴图贴的有点累了,要休息下,剩下的事情只能第10章来解决了,本章完。

    相关文章

      网友评论

          本文标题:(9) 手把手做一个登录页,详细,多图!

          本文链接:https://www.haomeiwen.com/subject/jvqhmhtx.html