前言
本实例以“个人”简历为主题设计,是个非常实用的Web版求职简历,应用html+css+js,全屏页面,鼠标轮换,简洁明了,适合计算机专业求职的同学实用。供大家参考。
【关注作者|获取更多源码(2000+个Web案例源码)|优质文章】;您的支持是我创作的动力!看到这里就【点赞收藏博文】,三连支持下吧,3Q!有兴趣的联系我交流分享!
一、网页效果
二、代码展示
1.HTML
代码如下(节选示例):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简历</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<aside>
<a class="cur_a"><span>首页</span></a>
<a><span>关于我</span></a>
<a><span>技能</span></a>
<a><span>经验</span></a>
<a><span>联系我</span></a>
</aside>
<section class="page_one" id="page1">
<nav>
<div class="nav_wrap">
<div class="resume_logo">
<a href="index.html">Resume</a>
</div>
<div class="nav_bar">
<ul class="nav_bar_ul">
<li><a href="index.html">Home</a></li>
<li><a href="#">page2</a></li>
<li><a href="#">page3</a></li>
<li><a href="#">page4</a></li>
<li><a href="#">page5</a></li>
</ul>
</div>
</div>
</nav>
<div class="cen_con">
<div class="portrait">
<img οnmοusemοve="this.src='images/22.png'" / οnmοuseοut="this.src='images/portrait1.jpg'" / src="images/portrait1.jpg">
</div>
<div class="cen_text">
<h2>世上只有想不通的人,没有走不通的路。</h2>
<hr>
<h3>张xxx</h3>
<h3>Web前端工程师</h3>
<h3>求职上海 / 苏州</h3>
<h3>00000000000</h3>
</div>
</div>
<div class="down_arrow">
<a class="scroll"><span></span></a>
</div>
</section>
<section class="page_two" id="page2">
<div class="con_wrap">
<div class="tit_wrap">
<h1>关于我</h1>
<div class="scissors">
<span></span>
</div>
<h2> 如果debugging是一种消灭bug的过程,那编程就一定是把bug放进去的过程。</h2>
</div>
<div class="myinfo">
<table>
<tbody>
<tr>
<td rowspan="6">
<img src="images/portrait1.jpg">
</td>
<td>姓名 | 张xxx</td>
<td>手机 | 00000000000</td>
</tr>
<tr>
<td>性别 | 女</td>
<td>邮箱 | 000000@qq.com</td>
</tr>
<tr>
<td>出生 | 1995.08.23</td>
<td>QQ号 | 000000</td>
</tr>
<tr>
<td>居住 | 江苏省苏州市</td>
<td>户籍 | 江苏省常州市</td>
</tr>
<tr>
<td>学历 | 本科</td>
<td>学校 | 淮阴师范学院</td>
</tr>
<tr>
<td>专业 | 计算机科学与技术</td>
<td>英语 | 英语六级</td>
</tr>
<tr>
<td colspan="3">
<p>项目:</p><br>
<a href="http://www.1-yd.com/">1. 闻行一阅读(基于Amaze UI 查看网址:www.1-yd.com)</a><br>
<a>2. 中笕-汽车保养(基于Metronic的Bootstrap,内部项目,无法展示)</a><br><br>
<p>小作品 (查看网址:http://www.17sucai.com/boards/117475.html)</p><br>
<a href="http://www.17sucai.com/boards/117475.html">1. 手工皂(注:瀑布流本地没问题) </a>
<a href="http://www.17sucai.com/boards/117475.html">2. 个人主页 </a>
<a href="http://www.17sucai.com/boards/117475.html">3. 手工皂 </a><br>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="down_arrow">
<a class="scroll"><span></span></a>
</div>
</section>
<section class="page_three" id="page3">
<div class="con_wrap">
<div class="tit_wrap">
<h1>技能</h1>
<div class="scissors">
<span></span>
</div>
<h2>代码,我们眼中的世界,别人眼中的天书。</h2>
</div>
<div class="skill_con">
<div class="canvas_wrap">
<div class="canvas_con">
<div class="text_con">
<p class="percent">90%</p>
<p class="chart_title">HTML5</p>
</div>
<canvas id="html5" width=160 height=160></canvas>
</div>
<div class="canvas_con">
<div class="text_con">
<p class="percent">90%</p>
<p class="chart_title">CSS3</p>
</div>
<canvas id="css3" width=160 height=160></canvas>
</div>
<div class="canvas_con">
<div class="text_con">
<p class="percent">75%</p>
<p class="chart_title">JS</p>
</div>
<canvas id="js" width=160 height=160></canvas>
</div>
<div class="canvas_con">
<div class="text_con">
<p class="percent">80%</p>
<p class="chart_title">JQUERY</p>
</div>
<canvas id="jq" width=160 height=160></canvas>
</div>
<div class="canvas_con">
<div class="text_con">
<p class="percent">70%</p>
<p class="chart_title">BOOTSTRAP</p>
</div>
<canvas id="bs" width=160 height=160></canvas>
</div>
<div class="canvas_con">
<div class="text_con">
<p class="percent">80%</p>
<p class="chart_title">PS</p>
</div>
<canvas id="ps" width=160 height=160></canvas>
</div>
</div>
<div class="text_wrap">
<p>1. 熟练HTML5,CSS3,JavaScript技术,开发符合W3C标准的前端网页。</p>
<p>2. 熟练使用jQuery,bootstrap等前端框架技术。</p>
<p>3. 熟悉sass工具,扩展css功能,提高css功能和效率。</p>
<p>4. 熟悉Ajax的运行机制,能使用ajax进行数据交互。</p>
<p>5. 熟练使用PS,墨刀等工具,能快速切图和搭建原型图。</p>
<p>6. 熟悉W3C标准,对表现与数据分离、Web语义化等有较为深刻的理解。</p>
<p>7. 精通流体布局和弹性布局,能适应各种分辨率。</p>
<p>8. 熟悉各种主流浏览器的差异性,有解决主流浏览器的兼容性问题的经验。</p>
</div>
</div>
</div>
<div class="down_arrow">
<a class="scroll"><span></span></a>
</div>
</section>
<section class="page_four" id="page4">
<div class="con_wrap">
<div class="tit_wrap">
<h1>工作经验</h1>
<div class="scissors">
<span></span>
</div>
<h2>我现在做的一切仅仅是为了不让未来的自己后悔。</h2>
</div>
<div class="work_con">
<div class="programe">
<div class="work_time">5个月<br>中笕汽车保养</div>
<div class="work_text">
<div class="triangle-left"></div>
<div class="exCon">
<h4>开发时间:2018 /12--2019 /5</h4>
<h5>开发工具:IntelliJ IDEA,sublime text</h5>
<p>项目描述:</p>
<p>该项目是关于汽车加盟店内部使用的汽车保养网站。加盟店主要有汽车保养下单,排班,考勤,申请补货等操作功能,以及门店信息,订单信息,库存心等查看的功能。总店有商品,门店,采购,补货,预警,财务,仓库等功能管理。</p>
<p> 加盟店端采用原生搭建,总店端采用metronic+bootstrap框架。 该项目是中笕内部员工使用。</p>
<p>责任描述:</p>
<p>1. 根据项目需求,快速构造原型图 </p>
<p> 2. 参与页面的部分设计 </p>
<p> 3. 负责加盟店的前端网站搭建以及总店端的页面修改</p>
</div>
......
2.CSS
代码如下(节选示例):
@keyframes mytranslateY {
100% {
transform: translateY(0);
-ms-transform: translateY(0);
-moz-transform: translateY(0);
-webkit-transform: translateY(0);
-o-transform: translateY(0);
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1;
display: block
}
}
@-moz-keyframes mytranslateY {
100% {
transform: translateY(0);
-ms-transform: translateY(0);
-moz-transform: translateY(0);
-webkit-transform: translateY(0);
-o-transform: translateY(0);
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1
}
}
@-webkit-keyframes mytranslateY {
100% {
transform: translateY(0);
-ms-transform: translateY(0);
-moz-transform: translateY(0);
-webkit-transform: translateY(0);
-o-transform: translateY(0);
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1
}
}
@-o-keyframes mytranslateY {
100% {
transform: translateY(0);
-ms-transform: translateY(0);
-moz-transform: translateY(0);
-webkit-transform: translateY(0);
-o-transform: translateY(0);
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1
}
}
@keyframes myscale {
0% {
transform: scale(1.6);
-ms-transform: scale(1.6);
-moz-transform: scale(1.6);
-webkit-transform: scale(1.6);
-o-transform: scale(1.6)
}
100% {
transform: scale(1);
-ms-transform: scale(1);
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1)
}
}
@-moz-keyframes myscale {
0% {
transform: scale(1.6);
-ms-transform: scale(1.6);
-moz-transform: scale(1.6);
-webkit-transform: scale(1.6);
-o-transform: scale(1.6)
}
100% {
transform: scale(1);
-ms-transform: scale(1);
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1)
}
}
@-webkit-keyframes myscale {
0% {
transform: scale(1.6);
-ms-transform: scale(1.6);
-moz-transform: scale(1.6);
-webkit-transform: scale(1.6);
-o-transform: scale(1.6)
}
100% {
transform: scale(1);
-ms-transform: scale(1);
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1)
}
}
@-o-keyframes myscale {
0% {
transform: scale(1.6);
-ms-transform: scale(1.6);
-moz-transform: scale(1.6);
-webkit-transform: scale(1.6);
-o-transform: scale(1.6)
}
100% {
transform: scale(1);
-ms-transform: scale(1);
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1)
}
}
@keyframes to_top {
0% {
opacity: 0
}
100% {
transform: scale(1);
-ms-transform: scale(1);
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1)
}
}
@-moz-keyframes to_top {
0% {
transform: scale(1.6);
-ms-transform: scale(1.6);
-moz-transform: scale(1.6);
-webkit-transform: scale(1.6);
-o-transform: scale(1.6)
}
......
3.JS
代码如下(节选示例):
// 获取id
function id(obj) {
return document.getElementById(obj);
}
// 增加class名称
function addClass(obj, sClass) {
var aClass = obj.className.split(' ');
if (!obj.className) {
obj.className = sClass;
return;
}
for (var i = 0; i < aClass.length; i++) {
if (aClass[i] === sClass) return;
}
obj.className += ' ' + sClass;
}
function removeClass(obj, sClass) {
var aClass = obj.className.split(' ');
if (!obj.className) return;
for (var i = 0; i < aClass.length; i++) {
if (aClass[i] === sClass) {
aClass.splice(i, 1);
obj.className = aClass.join(' ');
break;
}
}
}
function myBrowser() {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1) {
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
}
function view() {
return {
w: document.documentElement.clientWidth || document.body.clientWidth,
h: document.documentElement.clientHeight || document.body.clientHeight
};
}
var viewHeight = function() {
var section = document.getElementsByTagName("section");
var iheight = view().h;
section[0].style.height = iheight;
for (var i = 0; i < section.length; i++) {
section[i].style.height = iheight + "px";
}
}
var waited_develop = function() {
var waitedli = document.getElementsByClassName("nav_bar_ul")[0].children;
// var waiteda=waitedli.children;
console.log(waitedli);
// console.log(waiteda);
for (var i = 1; i < waitedli.length; i++) {
if (waitedli[i].addEventListener) {
waitedli[i].addEventListener("click", myfunction, false);
function myfunction() {
alert("待开发");
}
}
if (waitedli[i].attachEvent) {
waitedli[i].attachEvent("onclick", myfunction);
function myfunction() {
alert("待开发");
}
}
}
}
var tagSwitch = function() {
var navP = document.getElementById("nav_bar");
var next = document.getElementsByClassName("scroll");
var con = document.getElementsByTagName("section");
var tag = document.getElementsByTagName("aside")[0].children;
con[0].style.display = "block";
tag[0].className = "cur_a";
for (var i = 0; i < tag.length; i++) {
tag[i].index = i;
tag[i].onclick = function() {
for (var n = 0; n < tag.length; n++) {
tag[n].className = "";
con[n].style.display = "none";
}
tag[this.index].className = "cur_a";
con[this.index].style.display = "block";
}
}
for (var i = 0; i < next.length; i++) {
next[i].index = i;
tag[i].index = i;
next[i].onclick = function() {
for (var n = 0; n < next.length; n++) {
tag[n].className = "";
con[n].style.display = "none";
}
con[this.index + 1].style.display = "block";
tag[this.index + 1].className = "cur_a";
}
}
}
// html5--canvas
var canvashtml5 = document.getElementById("html5").getContext("2d");
var canvascss3 = document.getElementById("css3").getContext("2d");
var canvasjs = document.getElementById("js").getContext("2d");
var canvasjq = document.getElementById("jq").getContext("2d");
var canvasbs = document.getElementById("bs").getContext("2d");
var canvasps = document.getElementById("ps").getContext("2d");
var canwidth = 160;
var radius = 70;
var canhtml5 = function() {
var deg = 0;
var html5T = function(deg) {
var r = deg * Math.PI / 180;
canvashtml5.clearRect(0, 0, canwidth, canwidth);
canvashtml5.beginPath();
canvashtml5.strokeStyle = "#F1652A";
canvashtml5.lineWidth = 10;
canvashtml5.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvashtml5.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
html5T(deg);
if (deg > 324) {
clearInterval(time);
}
}
}, 20);
}
var cancss3 = function() {
var deg = 0;
var css3T = function(deg) {
var r = deg * Math.PI / 180;
canvascss3.clearRect(0, 0, canwidth, canwidth);
canvascss3.beginPath();
canvascss3.strokeStyle = "#409AD8";
canvascss3.lineWidth = 10;
canvascss3.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvascss3.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
css3T(deg);
if (deg > 324) {
clearInterval(time);
}
}
}, 20);
}
var canvasTotal = function() {
}
var canjs = function() {
var deg = 0;
var jsT = function(deg) {
var r = deg * Math.PI / 180;
canvasjs.clearRect(0, 0, canwidth, canwidth);
canvasjs.beginPath();
canvasjs.strokeStyle = "#ECB12C";
canvasjs.lineWidth = 10;
canvasjs.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvasjs.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
jsT(deg);
if (deg > 252) {
clearInterval(time);
}
}
}, 20);
}
var canjq = function() {
var deg = 0;
var jqT = function(deg) {
var r = deg * Math.PI / 180;
canvasjq.clearRect(0, 0, canwidth, canwidth);
canvasjq.beginPath();
canvasjq.strokeStyle = "#75B143";
canvasjq.lineWidth = 10;
canvasjq.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvasjq.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
jqT(deg);
if (deg > 288) {
clearInterval(time);
}
}
}, 20);
}
var canbs = function() {
var deg = 0;
var bsT = function(deg) {
var r = deg * Math.PI / 180;
canvasbs.clearRect(0, 0, canwidth, canwidth);
canvasbs.beginPath();
canvasbs.strokeStyle = "#583F85";
canvasbs.lineWidth = 10;
canvasbs.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvasbs.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
bsT(deg);
if (deg > 288) {
clearInterval(time);
}
}
}, 20);
}
var ps = function() {
var deg = 0;
var psT = function(deg) {
var r = deg * Math.PI / 180;
canvasps.clearRect(0, 0, canwidth, canwidth);
canvasps.beginPath();
canvasps.strokeStyle = "#031A3A";
canvasps.lineWidth = 10;
canvasps.arc(canwidth / 2, canwidth / 2, radius, 0 - 1 / 2 * Math.PI, r - 1 / 2 * Math.PI, false); //
canvasps.stroke();
};
var time = setInterval(function() {
var con = document.getElementsByTagName("section")[2];
if (con.style.display == "block") {
deg += 4;
psT(deg);
if (deg > 288) {
clearInterval(time);
}
}
}, 20);
}
//judge
var checkUsername = function() {
var username = document.getElementById("username").value;
var usernamecheck = document.getElementById("check_username");
usernamecheck.innerText = "";
var myreg = /^[\u4e00-\u9fa5 ]{2,20}$/;
var myreg1 = /^[a-zA-Z\/ ]{2,20}$/;
if (username == "" || username == null) {
usernamecheck.innerText = "姓名不能为空";
} else {
if (myreg.test(username) || myreg1.test(username)) {
usernamecheck.innerText = "";
} else {
usernamecheck.innerText = "姓名格式错误";
}
}
}
var checkMail = function() {
var usermail = document.getElementById("usermail").value;
var usermailcheck = document.getElementById("check_usermail");
usermailcheck.innerText = "";
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (usermail == "" || usermail == null) {
usermailcheck.innerText = "邮箱不能为空";
} else {
if (myreg.test(usermail)) {
usermailcheck.innerText = "";
} else {
usermailcheck.innerText = "邮箱格式错误";
}
}
}
var checkTheme = function() {
var usertheme = document.getElementById("usertheme").value;
var userthemecheck = document.getElementById("check_usertheme");
userthemecheck.innerText = "";
if (usertheme == "" || usertheme == null) {
userthemecheck.innerText = "主题不能为空";
}
}
var checkCon = function() {
var usercon = document.getElementById("usercon").value;
var userconcheck = document.getElementById("check_usercon");
userconcheck.innerText = "";
if (usercon == "" || usercon == null) {
userconcheck.innerText = "内容不能为空";
}
}
var usernameon = document.getElementById("username");
usernameon.onblur = checkUsername;
var mymailon = document.getElementById("usermail");
mymailon.onblur = checkMail;
var mythemeon = document.getElementById("usertheme");
mythemeon.onblur = checkTheme;
var myconon = document.getElementById("usercon");
myconon.onblur = checkCon;
......