好久没有写文章了,最近比较忙,不好意思。
今天做的移动端登录界面,采用rem为单位,自定义字体,背景虚化,半透明登录框,效果是我在网上看到的,所以自己实现了一下,分享给大家,自己学识不是很深,所以如果有哪里不对或者需要改进的地方,还希望大家多多指教。
我们先来看一下效果图:

1.准备:
1. 目录简介
发布图片
字体字体,字体图标
css 样式表文件
base.css基本样式
login.css登录界面样式
图像
js 文件
.js rem 转换 px 文件
login.js 登录页面的其他 js
login.html 登录页面
2.base.css文件:我们在base.css中定义字体,边距,等,这里只指出一些重点,如果想要源码可以关注我们然后私信我们,我们会发给你。
①从效果图中我们可以看到提示文字是白色的,因此我们需要在这里进行修改:
input::-webkit-input-placeholder{
color:#fff;
}
②定义字体,这里只用了ttf,因为大部分手机都是内核,都支持ttf格式的字体。
@font-face {
font-family: 'PingFangSC-Regular';
src: url('../fonts/PingFangSC-Regular.ttf');
font-weight: normal;
font-style: normal;
}
③初始化字体大小、字体类型等。
body,input{
font-size: .26rem;
font-family:'PingFangSC-Regular';
color:#fff;
}
注:1.其他的、float、flex等这里就不多说了,源码里的base.css文件写得很清楚。
2. rem 单位,后面会解释
3.因为.js的原因,我们在这里不需要设置html设置的字体大小。
3.该.js文件可以将rem转换为px并自动设置HTML的字体大小,这样rem的值就会被浏览器实时根据HTML的字体大小解析成px,以适配不同分辨率的手机,我们需要做两步:
① 在中引入.js并立即执行:
②打开.js,找到最后一行,把两个参数改为设计的宽度,我的设计是720,所以修改如下:
;(function(designWidth, maxWidth) {
...
})(720, 720);
因此,在测量设计的像素值后,在CSS中将其除以100,即rem。
4、新建login.html文件,放在根目录下,并在中添加如下代码,让页面宽度等于手机宽度,并禁止缩放:
5、在login.html中添加如下代码,防止手机对页面上的数字进行格式化,否则影响美观:
6.引入相关的css和js,这里就不多说了。
至此,准备工作已经完成,现在就要开始编写页面了。
2. 高斯模糊背景
背景高斯模糊不能直接在body上设置,不然body里的内容会做高斯模糊,所以单独写一个来设置
.bg{
background:url(../images/bg.jpg) no-repeat center/cover;
position: fixed;
z-index: 1;
top:0;
left:0;
right:0;
bottom:0;
filter:blur(15px);
}
效果图如下:

这里有个问题,高斯模糊会导致周围区域褪色,玩过PS的都知道这个问题,我们只需要把背景容器放大一点,超出body就可以了,所以修改后的css如下:
.bg{
background:url(../images/bg.jpg) no-repeat center/cover;
position: fixed;
top:0;
left:0;
right:0;
bottom:0;
filter:blur(15px);
transform:scale(1.1);
}
效果图如下:

注意:因为背景是定位的,所以它里面的所有内容也都必须定位,并且具有比它更高的 z-index。
3.整体居中
页面内容垂直和水平居中。无论分辨率如何,内容始终位于中间:
1.在body中添加flex flex-,也就是base中定义的flex样式
2.既然是要垂直居中,那么body的高度就必须是100%,另外html也必须设置,不然body的100%是没有任何效果的:
body,html{
height: 100%;
}
.wrap{
padding:0 .85rem;
position: relative;
z-index: 2;
}
3.此包装是居中的容器,所有内容都放置在其中:
3. 头部
比较简单,注意看“ ”,里面有个阴影,这里不能用box box-,而是用text text-,它比box-少一个参数,就是。按照UI的做法,测量出来的尺寸除以100,就是rem值,比如130px,这里可以写1.3rem。
.header h1{
font-weight: normal;
font-size: 1rem;
text-shadow: 0 0 4px rgba(0,0,0,.5);
text-align: center;
}
.header p{
font-size: .22rem;
text-align: center;
line-height: 1.8
}
Welcome
Lorem ipsum sit amet,consectetur adipiscing dlit. Donec auctor neque sed pretium luctus.
效果如下

4. 主体部分
这里主要包括头像、输入框和提交按钮,比较简单,就不细说了。编辑器设置了厚度为0.5px,但是这并不代表边框厚度就是0.5px,因为现在大部分手机都是视网膜屏,物理分辨率是逻辑分辨率的两倍多,这里设置的0.5px是逻辑分辨率,折算成物理像素大概就是1px。
.avatar{
width: 1.5rem;
height: 1.5rem;
display: block;
margin: auto;
border-radius: 999px;
border:.5px solid #fff;
box-shadow: 0 0 4px 0 rgba(0,0,0,.3);
}
.row *{
height:.85rem;
line-height: .85rem;
width: 100%;
text-align: center;
border-radius: 999px;
box-shadow: 0 0 4px 0 rgba(0,0,0,.3);
}
.row .ipt{
background: transparent;
border:.5px solid #fff;
}
.row .submit{
background:linear-gradient(to bottom,#25af61,#149c4f);
border:0 none;
display: block;
border:.5px solid #33c773;
}
Login
扫一扫在手机端查看
-
Tags : 字体大小 高斯模糊 font-family base.css flexible.js
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1