整个网页的html
首先,忽略我的网页比较丑,主要是ps功底不太好,
其次这个网页是利用了全屏插件:jquery.fullPage.js。需要事先导入相应的js文件
js文件下载地址:http://www.dowebok.com/77.html
js文件网页中有使用教程和一些小案例
整个案例运用了交集选择器
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 <link href="../css/360.css" rel="stylesheet">
7 <link rel="stylesheet" href="../css/jquery.fullPage.css">
8 <script src="../js/jquery-1.8.3.min.js"></script>
9 <script src="../js/jquery.fullPage.js"></script>
10 <script src="../js/jquery.fullPage.min.js"></script>
11 <style>
12
13 </style>
14 </head>
15 <body>
16 <div id="360Page">
17 <div class="section first">
18 <div class="logo">
19 <img src="static/images/logo.jpg" alt="">
20 </div>
21 <ul class="text1">
22 <li>4</li>
23 <li>亿</li>
24 <li>网</li>
25 <li>友</li>
26 <li>共</li>
27 <li>同</li>
28 <li>信</li>
29 <li>赖</li>
30 </ul>
31 <div class="text2">
32 更安全,更爽快,更智能,更时尚
33 </div>
34 </div>
35 <div class="section second">
36 <div class="shield">
37 <img src="../img/dp1.png" alt="">
38 <img src="../img/dp2.png" alt="">
39 <img src="../img/dp3.png" alt="">
40 <img src="../img/dp4.png" alt="">
41 <img src="../img/dp5.png" alt="">
42 <img src="../img/dp6.png" alt="">
43 <img src="../img/dp7.png" alt="">
44 <img src="../img/dp8.png" alt="">
45 </div>
46 <div class="info"></div>
47 </div>
48 <div class="section third">
49 <div class="info"></div>
50 <div class="circle">
51 <div class="rocket"></div>
52 </div>
53 </div>
54 <div class="section fourth">
55 <div class="search">
56 <div class="searchBar"></div>
57 <div class="searchText"></div>
58 <div class="searchResult"></div>
59 </div>
60 <div class="info"></div>
61 </div>
62 <div class="section fifth">
63 <div class="info"></div>
64 <div class="subject">
65 <div class="topBorder"></div>
66 <div class="bottomBorder"></div>
67 <div class="leftBorder"></div>
68 <div class="rightBorder"></div>
69 <div class="nav">
70 <div class="icon"></div>
71 <div class="navHead">
72 <div class="info"></div>
73 <div class="minimum"></div>
74 <div class="maximum"></div>
75 <div class="close"></div>
76 </div>
77 <div class="Address-bar">
78 <div class="return"></div>
79 <div class="refresh"></div>
80 <div class="homepage"></div>
81 <div class="url">
82 <div class="quickness"></div>
83 </div>
84 <div class="list"></div>
85 <div class="search-box">
86 <div class="search"></div>
87 </div>
88 </div>
89 </div>
90 </div>
91 </div>
92 </div>
93 <script>
94 $(function(){
95 $('#360Page').fullpage({
96 sectionsColor:['#65FFDD',"#77ff2b","#ff7319","#ccbea9","#65ffdd"],
97 afterLoad:function (anchorLink,index) {
98 $(".section").removeClass("current");
99 setTimeout(function () {
100 $(".section").eq(index-1).addClass("current");
101 },10);
102 }
103 });
104 });
105 $(function () {
106 setTimeout(function () {
107 $(".first").addClass("current");
108 },500);
109 });
110 </script>
111 </body>
112 </html>
页面基本样式:
1 body,div,img,ul,li{
2 margin: 0;
3 padding: 0;
4 }
5 .section{
6 overflow: hidden;
7 }
第一屏最简单:难点就是进入网页的一瞬间中间的(4亿网友共同信赖)是间距从大到小变化,到指定的·点停止。同时透明度慢慢缩小
前:

后:

第一页的css代码:
1 .first .logo{
2 width: 390px;
3 height: 110px;
4 margin: 100px auto;
5 }
6 .first .logo > img{
7 width: 100%;
8 height: 100%;
9 }
10 .first .text1{
11 width: 100%;
12 height: 150px;
13 line-height: 130px;
14 text-align: center;
15 font-size: 130px;
16 font-weight:bold;
17 color: #fff;
18 }
19 .first .text1 > li{
20 display:inline;
21 list-style: none;
22 margin: 0 40px;
23 opacity: 0.5;
24 transition: margin 1s,opacity 1s;
25
26 }
27 .first .text2{
28 width: 100%;
29 height: 60px;
30 line-height: 60px;
31 text-align: center;
32 font-size: 60px;
33 font-weight:200;
34 letter-spacing:20px;
35 color: #fff;
36 margin-top: 60px;
37
38 }
39 .first.current .text1 > li{
40 margin: 0 5px;
41 opacity: 1;
42 }
第二屏:主要的难点在transform的运用,进入第二屏的时候开始把一个碎了的盾牌拼凑成一个完整的盾牌
前:

后:

1 .second > div{
2 display: flex;
3 justify-content: space-around;
4 align-items: center;
5 }
6 .second .shield{
7 width: 404px;
8 height: 512px;
9 font-size: 1px;
10 position: relative;
11 }
12 .second .shield>img{
13 width: 100%;
14 height: 100%;
15 position: absolute;
16 top: 0;
17 left: 0;
18 transition: transform 1s;
19 }
20
21 .second .info{
22 width: 800px;
23 height: 350px;
24 background: url("../img/info.png");
25 }
26 .second .shield > img:nth-of-type(1){
27 transform: translate(30px,-30px) rotate(30deg);
28 }
29 .second .shield > img:nth-of-type(2){
30 transform: translate(-30px,30px) rotate(-30deg);
31 }
32 .second .shield > img:nth-of-type(3){
33 transform: translate(90px,-90px) rotate(90deg);
34 }
35 .second .shield > img:nth-of-type(4){
36 transform: translate(-90px,90px) rotate(-90deg);
37 }
38 .second .shield > img:nth-of-type(5){
39 transform: translate(-200px,230px) rotate(230deg);
40 }
41 .second .shield > img:nth-of-type(6){
42 transform: translate(-130px,130px) rotate(-130deg);
43 }
44 .second .shield > img:nth-of-type(7){
45 transform: translate(220px,-220px) rotate(220deg);
46 }
47 .second .shield > img:nth-of-type(8){
48 transform: translate(220px,-220px) rotate(30deg);
49 }
50 .second.current .shield > img{
51 transform: none;
52 }
第三屏:跟第二屏效果差不大多,只是动画从左边变到右边,一个小火箭从左下角飞入,刚进入第三屏的时候是看不见小火箭
前:

后:

第三屏css代码
1 .third{
2 position: relative;
3 }
4 .third .info{
5 height: 500px;
6 width: 800px;
7 background: url("../img/info2.png");
8 position: absolute;
9 left: 50%;
10 top: 50%;
11 transform: translate(-100%,-50%);
12 }
13 .third .circle{
14 height: 651px;
15 width: 650px;
16 background: url("../img/circle.png");
17 position: absolute;
18 right: 50%;
19 top: 50%;
20 transform: translate(130%,-50%);
21 }
22
23 .third .circle > .rocket{
24 height: 500px;
25 width: 500px;
26 background: url("../img/rocket.png");
27 position: absolute;
28 left: -1000px;
29 top: 1000px;
30 transition: top 1s,left 1s;
31 }
32 .third.current .circle > .rocket{
33 top: 40px;
34 left: 130px;
35 }
第四屏:难点在左侧的动画分三步完成
第一步:搜座框从左侧进入

第二步:输入框出现字体,出现效果像打字一样一个字一个字的出现

第三步:搜索结果从上到下慢慢显示出来

第四屏css:
1 /*第四屏样式*/
2 .fourth{
3 position: relative;
4 }
5 .fourth .search{
6 width: 595px;
7 height: 552px;
8 position: absolute;
9 top: 50%;
10 left: 50%;
11 transform: translate(-130%,-50%);
12 overflow: hidden;
13 }
14 .fourth .search > .searchBar{
15 width: 595px;
16 height: 70px;
17 background: url("../img/searchBar.png");
18 transform: translateX(-100%);
19 }
20 .fourth .search > .searchResult{
21 width: 595px;
22 height: 0px;
23 background: url("../img/searchResult.png");
24 }
25 .fourth .search > .searchText{
26 width: 0px;
27 height: 70px;
28 background: url("../img/searchText.png");
29 position: absolute;
30 top: 0;
31 left: 0;
32 }
33 .fourth .info{
34 width: 800px;
35 height: 800px;
36 background: url("../img/info3.png");
37 position: absolute;
38 top: 50%;
39 right: 50%;
40 transform: translate(100%,-50%);
41 }
42 .fourth.current .search > .searchBar{
43 transform: translateX(0);
44 transition: transform 1s;
45 }
46 .fourth.current .search > .searchText{
47 width: 280px;
48 transition: width 1s 1s steps(5);
49 }
50 .fourth.current .search > .searchResult{
51 height: 485px;
52 transition: height 1s 2s;
53 }
第五屏:是最难的一屏,也不能说难,只要是元素表较多,整个页面就是拼凑出来的
其实页面上的图标应该用字体图标的,当时脑子一热就都用图片代替了
主要难点就在整个页面的布局和四个边框的动画
前:四条边框是从四个不同方向进入到边框的位置,主体页面透明

后:不透明,边框复位

第五屏css
1 .fifth{
2 position: relative;
3 }
4 .fifth .info{
5 width: 1924px;
6 height: 300px;
7 background: url("../img/info4.png");
8 margin: 0 auto;
9 top: 0;
10 }
11 .fifth .subject{
12 width: 1700px;
13 height: 620px;
14 background: url("../img/subject.png");
15 margin: 0 auto;
16 position: relative;
17 }
18 .fifth .subject > .topBorder{
19 width: 1700px;
20 height: 1px;
21 background: url("../img/Top and bottom border.png");
22 position: absolute;
23 top: 0;
24 left: 100%;
25 }
26 .fifth.current .subject > .topBorder{
27 left: 0%;
28 transition: left 2s;
29 }
30 .fifth .subject > .bottomBorder{
31 width: 1700px;
32 height: 1px;
33 background: url("../img/Top and bottom border.png");
34 position: absolute;
35 bottom: 0;
36 right: 100%;
37 }
38 .fifth.current .subject > .bottomBorder{
39 right: 0%;
40 transition: right 2s;
41 }
42 .fifth .subject > .leftBorder{
43 width: 1px;
44 height: 620px;
45 background: url("../img/Left and right borders.png");
46 position: absolute;
47 left: 0;
48 bottom: 100%;
49 }
50 .fifth.current .subject > .leftBorder{
51 bottom: 0%;
52 transition: bottom 2s;
53 }
54 .fifth .subject > .rightBorder{
55 width: 1px;
56 height: 620px;
57 background: url("../img/Left and right borders.png");
58 position: absolute;
59 right: 0;
60 top: 100%;
61 }
62 .fifth.current .subject > .rightBorder{
63 top: 0%;
64 transition: top 2s;
65 }
66 .fifth .subject > .nav{
67 width: 100%;
68 height: 100px;
69 }
70 .fifth .subject > .nav > .icon{
71 width: 100px;
72 height: 100px;
73 background: url("../img/icon.png");
74 float: left;
75 }
76 .fifth .subject > .nav > .navHead{
77 width: 1600px;
78 height: 50%;
79 float: left;
80 position: relative;
81 }
82
83 .fifth .subject > .nav > .navHead > .info{
84 width: 200px;
85 height: 40px;
86 background: url("../img/aqllq.png");
87 float: left;
88 }
89 .fifth .subject > .nav > .navHead > .close{
90 width: 50px;
91 height: 50px;
92 background: url("../img/x.png");
93 position: absolute;
94 right: 10px;
95 }
96 .fifth .subject > .nav > .navHead > .maximum{
97 width: 50px;
98 height: 50px;
99 background: url("../img/zuidahua.png");
100 position: absolute;
101 right: 80px;
102 }
103 .fifth .subject > .nav > .navHead > .minimum{
104 width: 50px;
105 height: 50px;
106 background: url("../img/zuixiaohua.png");
107 position: absolute;
108 right: 150px;
109 }
110 .fifth .subject >.nav > .Address-bar{
111 width: 1580px;
112 height: 50%;
113 border: 3px solid #65ffdd;
114 float: left;
115 position: relative;
116 }
117 .return,.refresh,.homepage,.list{
118 width: 60px;
119 height: 100%;
120 border: 1px solid #65ffdd;
121 position: absolute;
122 }
123 .fifth .subject >.nav > .Address-bar > .return{
124 left: 0;
125 background: url("../img/zuojiantou.png") round;
126 }
127 .fifth .subject >.nav > .Address-bar > .refresh{
128 left: 60px;
129 background: url("../img/shuaxin.png") round;
130 }
131 .fifth .subject >.nav > .Address-bar > .homepage{
132 left: 120px;
133 background: url("../img/fangzi.png") round;
134 }
135 .fifth .subject >.nav > .Address-bar > .url{
136 width: 1160px;
137 height: 100%;
138 border: 1px solid #65ffdd;
139 position: absolute;
140 left: 180px;
141 }
142 .fifth .subject >.nav > .Address-bar > .url > .quickness{
143 width: 60px;
144 height: 100%;
145 position: absolute;
146 right: 0;
147 background: url("../img/shandian.png");
148 }
149 .fifth .subject >.nav > .Address-bar > .list{
150 left: 1340px;
151 background: url("../img/xiajiantou.png") round;
152 }
153 .fifth .subject >.nav > .Address-bar > .search-box{
154 width: 200px;
155 height: 100%;
156 border: 1px solid #65ffdd;
157 position: absolute;
158 left: 1400px;
159 }
160 .fifth .subject >.nav > .Address-bar > .search-box > .search{
161 width: 60px;
162 height: 100%;
163 position: absolute;
164 right: 10px;
165 background: url("../img/fangdajing.png") round;
166 }
167 .fifth .subject > .nav{
168 opacity:0.1;
169 }
170 .fifth.current .subject > .nav{
171 opacity:1;
172 transition: opacity 3s;
173 }