该相册制作分为登录、注册和主页面(由于后端没有实现,登录注册只有一些简单的判断),代码如下
(1)登录界面的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>欢迎登陆</title>
<link rel="stylesheet" href="xc.css">
<script type="text/javascript" src="dl.js"></script>
</head>
<body>
<div class="bg">
<div class="bg2">
<div class="tp"></div>
</div>
<div class="wzbg">
<h1 style="margin-left: 150px;">立即登录</h1>
<p class="wz">用户名</p>
<input class="srk" type="text" id="name">
<p class="wz">邮箱</p>
<input class="srk" type="text" id="email">
<p class="wz">密码 <span> <a href="zc.html" style="font-size: 15px;">忘记密码?</a></span></p>
<input class="srk" type="password" id="pw" placeholder="密码长度至少为六位">
<br>
<br>
<br>
<div><button class="button" type="button" onclick="dL()">登陆</button> <button class="button" onclick="window.location.href='zc.html'">注册</button></div>
</div>
</div>
</body>
</html>
(2)注册界面的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>欢迎注册</title>
<link rel="stylesheet" href="xc.css">
<script type="text/javascript" src="zc.js"></script>
</head>
<body>
<div class="zcbg">
<div class="bg3">
<div class="tp1"></div>
</div>
<div class="wzbg">
<h1 style="margin-left: 150px;">立即注册</h1>
<p class="wz1">邮箱</p>
<input class="srk1" type="text" id="email_1">
<p class="wz1">用户名</p>
<input class="srk1" type="text" id="name_1">
<p class="wz1">性别</p>
<input type="radio" style="margin-left: 180px;" >男
<input type="radio" >女
<p class="wz1">头像 </p>
<input class="srk1" type="file" id="tx">
<p class="wz1">密码 </p>
<input class="srk1" type="text" id="pw_1" placeholder="密码长度至少为六位,且为数字和字母的组合">
<p class="wz1">确认密码</p>
<input class="srk1" type="text" id="pw_2" placeholder="两次密码须一致">
<br>
<br>
<br>
<div><button class="button1" type="button" onclick="zC()">注册</button></div>
</div>
<div class="wzbg1">
<h1> 已有账号?</h1>
<p>有账号就登陆吧,好久不见了!</p>
</div>
<div class="wzbg2">
<button class="button2" onclick="window.location.href='dl.html'">登录</button>
</div>
</div>
</body>
</html>
(3)主页的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>你好,王佳媛!</title>
<link rel="stylesheet" href="xc.css">
</head>
<body>
<div class="xcbg">
<div class="div11">
<p class="font">欢迎王佳媛登录!</p>
<span class="font1">个人信息 <span onclick="window.location.href='dl.html'">退出</span></span>
</div>
<div class="xctp">
<img src="8 (1).jpg" alt="" />
<img src="8 (2).jpg" alt="" />
<img src="8 (3).jpg" alt="" />
<img src="8 (4).jpg" alt="" />
<img src="8 (5).jpg" alt="" />
<img src="8 (6).jpg" alt="" />
</div>
<audio src="Martin Ermen - River Flows In You.mp3" autoplay="autoplay" loop="loop"></audio>
</div>
</body>
</html>
(4)登录的js文件
function dL(){
// var Name1="Null";
var Name = document.getElementById("name").value;
// var Name1 = document.getElementById("name1").value;
var email = document.getElementById("email").value;
var pw = document.getElementById("pw").value;
if(Name!="王佳媛"){
alert("用户名错误,请重新输入或注册!");
}else if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(email)){
alert("邮箱格式不正确!");
}else if(!/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/.test(pw)){
alert("密码错误!")
}else {
alert("登录成功!");
window.location.href="xc.html"
}
}
(5)注册的js文件
function zC(){
var Name1 = (document.getElementById("name_1").value.length);
var email1 = document.getElementById("email_1").value;
var pw1 = document.getElementById("pw_1").value;
var pw2 = document.getElementById("pw_2").value;
if(Name1>5){
alert("用户名过长,应不大于五位!");
}else if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(email1)){
alert("邮箱格式不正确!");
}else if(!/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/.test(pw1)){
alert("密码格式错误,请重新输入!")
}else if(pw1!=pw2){
alert("两次输入的密码不一致,请重新输入!");
}else{
alert("注册成功,请返回登录页面进行登录!");
window.location.href="dl.html"
}
}
(6)css文件
.bg{
background-image: url(1.jpg);
background-size: auto;
height: 880px;
}
.zcbg{
background-image: url(2.jpg);
background-size: auto;
height: 880px;
}
.xcbg{
background-image: url(4.jpg);
background-size: auto;
height: 880px;
}
.bg2{
background-color: rgb(243, 215, 215);
width:1400px;
height: 680px;
position: relative;
top: 100px;
left:220px;
border-radius: 100px;
opacity: 0.8;
}
.bg3{
background-color: rgb(246, 253, 206);
width:1400px;
height: 750px;
position: relative;
top: 100px;
left:220px;
border-radius: 100px;
opacity: 0.8;
}
.tp{
background-image: url(6.jpg);
width:450px;
height: 500px;
position: relative;
top: 100px;
left:100px;
border-radius: 100px;
}
.tp1{
background-image: url(7.jpg);
width:450px;
height: 700px;
position: relative;
top: 30px;
left:100px;
border-radius: 100px;
}
.wzbg{
height: 500px;
width: 600px;
position: absolute;
top:180px;
left: 1000px;
}
.wzbg1{
height: 500px;
width: 500px;
position: absolute;
top:180px;
left: 450px;
color: white;
}
.wzbg2{
height: 100px;
width: 500px;
position: absolute;
top:680px;
left: 450px;
}
.wz{
font-size: 20px;
margin-left: 200px;
color: rgb(88, 88, 88);
}
.wz1{
font-size: 15px;
margin-left: 200px;
color: rgb(88, 88, 88);
}
.srk{
background-color: rgb(185, 198, 255);
border-radius: 15px;
height: 50px;
width: 400px;
margin-left: 20px;
border: 1px rgb(193, 193, 255) ;
box-shadow:4px 5px 6px 7px rgba(0,0,0,.5)
}
.srk1{
background-color: rgb(185, 255, 200);
border-radius: 10px;
height: 30px;
width: 400px;
margin-left: 20px;
border: solid 1px rgb(215, 255, 215);
box-shadow:4px 5px 6px 7px rgba(0,0,0,.5)
}
input[type='text']{
text-align:center;
}
.button{
height: 40px;
width:175px;
background-color: rgb(147, 189, 190);
border-radius: 15px;
margin-left: 23px;
border: solid 1px rgb(193, 193, 255) ;
box-shadow:4px 5px 6px 7px rgba(0,0,0,.5)
}
.button1{
height: 40px;
width:300px;
background-color: rgb(179, 209, 255);
border-radius: 15px;
margin-left: 80px;
border: solid 1px rgb(250, 250, 250) ;
box-shadow:4px 5px 6px 7px rgba(0,0,0,.5)
}
.button2{
height: 40px;
width:200px;
background-color: transparent;
border-radius: 15px;
margin-left: 0px;
border: solid 2px rgb(250, 250, 250) ;
color: white;
font-size: 20px;
box-shadow:4px 5px 6px 7px rgba(0,0,0,.5)
}
.div11{
height: 50px;
width: auto;
background-color: rgb(78, 78, 78);
color:white;
}
.font{
float: left;
position: relative;
top:2px;
left: 20px;
}
.font1{
float: left;
position: relative;
top:20px;
left: 1550px;
}
img{
width:320px;
height:480px;
}
.xctp{
width:420px;
height:580px;
position:absolute;
left:0;top:0;right:0;bottom:0;
margin:auto;
transform-style: preserve-3d;
transition: all 12s;
}
.xctp img{
position: absolute;
}
.xctp img:nth-child(1){transform: translateZ(500px);}
.xctp img:nth-child(2){transform: rotateY(60deg) translateZ(500px) ;}
.xctp img:nth-child(3){transform: rotateY(120deg) translateZ(500px) ;}
.xctp img:nth-child(4){transform: rotateY(180deg) translateZ(500px) ;}
.xctp img:nth-child(5){transform: rotateY(240deg) translateZ(500px) ;}
.xctp img:nth-child(6){transform: rotateY(300deg) translateZ(500px) ;}
.xctp:hover{
transform: rotateY(720deg) rotateX(45deg);
}