html5+css3网页制作实例:制作comingsoon页面

文章简介:这个页面用到了html5的标签元素和css3的线性渐变、圆角、阴影效果,以及当前流行的parallax视差特效和一些其他结合jquery的动画,在chrome,Safari,opera,firefox下都可以完美显示,如果你还使用IE浏览器,我想效果支持的并不是那么完美,不过尽管这样,我还是对IE6,7,8

这个页面用到了html5的标签元素和css3的线性渐变、圆角、阴影效果,以及当前流行的parallax视差特效和一些其他结合jquery的动画,在chrome,Safari,opera,firefox下都可以完美显示,如果你还使用IE浏览器,我想效果支持的并不是那么完美,不过尽管这样,我还是对IE6,7,8做了兼容性处理。
View Demo ,
Download

下面我们就来一步一步的实现这个页面,首先你要准备好设计师设计的PSD文件,并进行精确的切图,我们先来看这个comingsoon页面有哪些文件:

一个index.htm文件

css:
reset.css(格式化样式表http://meyerweb.com/eric/tools/css/reset/)
style.css (网站主要样式表文件)
js:
jquery.jparallax.js支持该页面的视差效果的插件,需要与jquery1.2.6相配套使用,如需更多了解请前往http://webdev.stephband.info/parallax.html 。
jquery.backgroundpos.js jquery的一个背景位置转换插件,用来支持该页面社会分享图标的动画效果。
CheckBrowser.js判断浏览器版本以及客户端设备的文件,用来调试兼容性。
Html5Act-Install.js 加载或启动动画的基础的js文件
image文件夹:包含所有的图片
字体:
我们的设计师设计了手绘字体,为了能让没有安装该字体的用户看到,我们引入了谷歌的字体库并在CSS样式中调用了它。
<link href=’http://fonts.googleapis.com/css?family=Francois+OneMcLarenRyeDancing+Script’ rel=’stylesheet’ type=’text/css’>

头部
我们使用了html5标签<header></header>,对于不支持html5标签的IE浏览器,我们这里通过调用谷歌的html5.js使其支持html5的标签,另外需要在CSS中声明这些元素块状显示,reset.css文件里面已经声明。在index.htm文件<head></head>部分你可以看到这部分代码:

<!–IE fix for HTML5 tags–>
< !–[if lt IE 9]>
< script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”>
< /script>
< ![endif]–>
我们来看代码部分:
<header><img src=http://www.webjx.com/css/”image/logo.png” alt=”sothink Html5-Act”/></header>
2.视差背景部分
这部分内容是用绝对定位脱离了文档流的,我们来看看结构和CSS代码:
XHTML结构:

1
2
3

</pre>
<div id="”backgrounds”"></div>
<pre>

CSS代码:

1
2
3
4
5
6
7

#parallax_back {position:absolute; height:745px; overflow:hidden; left:0; right:0; z-index:1; top:0;}
#parallax {position:absolute; width:2500px; height:745px; overflow-x:hidden; left:50%; margin:0
0
0
-1250px; z-index:2; top:0;}
#parallax_back #bg-aircraft {width:2200px; height:745px; position:absolute; background:url(../image/bg-aircraft.png) no-repeat
center
top; left:50%; margin:0
0
0
-1100px;}
#parallax #bg-sun {width:2000px; height:745px; position:absolute; background:url(../image/bg-sun.png) no-repeat
center
top; left:50%; margin:0
0
0
-1000px;}

#parallax_back #bg-couldbelow {width:2400px; height:745px; position:absolute; background:url(../image/bg-couldbelow.png) no-repeat
center
top; left:50%; margin:0
0
0
-1200px;}
#parallax #bg-couldabove {width:2400px; height:745px; position:absolute; background:url(../image/bg-couldabove.png) no-repeat
center
top; left:50%; margin:0
0
0
-1200px;}

(我们设置背景层和显示层的z-index属性,并在xhtml结构中按顺序放置相关层来达到堆叠的顺序。)

JS:

1
2

$(‘#parallax_back’).jparallax({triggerExposesEdges: true}, {xtravel:0.05, ytravel:0.05}, {xtravel:0.1, ytravel:0.1}, {xtravel:0.15, ytravel:0.15});
$(‘#parallax’).jparallax({triggerExposesEdges: true}, {xtravel:0.1, ytravel:0.1}, {xtravel:0.15, ytravel:0.15}, {xtravel:0.2, ytravel:0.2});

(我们用 jquery.jparallax.js插件结合jquery1.2.6版本来实现这种动画效果,并给背景层和显示层分别不同的位移参数,这是当前比较流行的效果,遗憾的是,IE浏览器对其支持性很差。)

3.主体部分
这个部分包含了即将发布的产品logo,产品的特性,以及邮件收集表单和社交分享几个部分。在这里,我们主要讲其中的2个动画效果和一个按钮三种状态下用CSS3修饰的风格。
A:其中悬浮在LOGO上面的渐显星星用到了fadeIn和fadeOut函数,并结合opacity和filter使其呈现。我们来看代码:
CSS:

1

#left-box #star{ width:85px; height:85px; position:absolute; left:128px; top:40px; background:url(../image/star.png) no-repeat}

(首先我们绝对定位它到目标位置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

var
left = document.getElementById(‘star’);
var
steps = 300;

/* set the opacity of the element (between 0.0 and 1.0) */
function
setOpacity(level) {
left.style.opacity = level;
left.style.MozOpacity = level;
left.style.KhtmlOpacity = level;
var
ua = checkB();
if
( ua["isIE6"]){
left.style.filter = “alpha(opacity=” + (level * 100) + “);”;
}
}
function
fadeIn(){
for
(i = 0; i setTimeout(“setOpacity(” + i + “)”, i * 3000);

}
setTimeout(“fadeOut()”, 2800);
}
function
fadeOut() {
for
(i = 0; i setTimeout(“setOpacity(” + (1 – i) + “)”, i * 3000);
}
setTimeout(“fadeIn()”, 2800);
}
fadeIn();

(由于7,8浏览器对PNG滤镜效果支持不乐观,我们通过调用checkB()函数判断客户端浏览器并指定了一些高级浏览器拥有该效果,而放弃了IE7,IE8以下的浏览器。这里调用了jquery的fadeIn和fadeOut效果用来达到动画效果)
B:再来看社交分享内容的动画,当鼠标指向隐藏一半的图像,会全部露出来。这里其实用到的是一个jquery的背景位置变换的插件jquery.background.js,再通过设置mouseovermouseout两种状态下图片所处背景的不同位置达到动画效果,当然这个动画的持续时间可以通过duration参数设置。然后我们来看代码

CSS:

1
2
3
4

#sharebox .social_list li a{ width:64px; height:64px; display:block; margin:0
auto
4px; }
#sharebox .social_list .facebook a {background: url(../image/f1.png) no-repeat
left
-28px;}
#sharebox .social_list .twitter a {background: url(../image/t1.png) no-repeat
left
-28px;}
#sharebox .social_list .youtube a {background: url(../image/y1.png) no-repeat
left
-28px;}

(在这里,我们通过给a元素转换成块状元素,然后设置一个负值,使其露出一半的图像)
JS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$(“.social_list li a”).css({“background-position” : “0px 28px”})
.mouseover(function
() {
$(this).stop().animate({
‘backgroundPosition’ : “0px 0px”
},
{duration:300})
})
.mouseout(function
() {
$(this).stop().animate({
‘backgroundPosition’ : “0px 28px”
},
{duration:200})
});

});

(设置mouseover和mouseout两种状态下的背景位置差值,以达到动画效果,持续时间可以自己设置。)

xhtml:

1
2

</pre>
<em></em>

C:表单部分:
这个地方我们对提交的按钮用CSS3进行了美化,线性渐变、阴影、圆角效果,我们对其设置了默认,hover和active三种状态下的风格。代码如下:

1
2
3
4

#brand .submit_button {font-family:Arial, Helvetica, sans-serif;float: left;width: 6em;border: 1px
solid
#006656;box-shadow: 0px
1px
0px
0px
rgba(255, 255, 255, 0.53) inset;border-radius: 0em
0.3em
0.3em
0em;background: -webkit-linear-gradient(bottom, #02B69A, #01DDBE);background: -moz-linear-gradient(bottom, #02B69A, #01DDBE);background: -o-linear-gradient(bottom, #02B69A, #01DDBE);background: -ms-linear-gradient(bottom, #02B69A, #01DDBE);cursor: pointer;height: 3em;color: white;text-shadow: 0
-1px
0
rgba(0, 0, 0, 0.25);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#1e5799′, endColorstr=’#007db9e8′,GradientType=0
);}

#brand .submit_button:hover { background-image: -webkit-gradient(linear, left
bottom, left
top, from(rgba(255,255,255,.1)), to(rgba(0,0,0,.1)));background-image: -webkit-linear-gradient(bottom, #01DDBE, #02B69A); background-image: -moz-linear-gradient(bottom, #01DDBE, #02B69A); background-image: -ms-linear-gradient(bottom, #01DDBE, #02B69A); background-image: -o-linear-gradient(bottom, #01DDBE, #02B69A);background-image: linear-gradient(bottom, #01DDBE, #02B69A);-moz-box-shadow: 0
1px
2px
0
rgba(0,0,0,.15) inset;-webkit-box-shadow: 0
1px
2px
0
rgba(0,0,0,.15) inset;box-shadow: 0
1px
2px
0
rgba(0,0,0,.15) inset;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#01DDBE",endColorstr="#02B69A",GradientType=0
);}
#brand .submit_button:active { -moz-box-shadow:0
1px
2px
0
rgba(0,0,0,.15) inset,0
3px
13px
3px
rgba(0,0,0,.3) inset; -webkit-box-shadow:0
1px
2px
0
rgba(0,0,0,.15) inset, 0
3px
13px
3px
rgba(0,0,0,.3) inset; box-shadow:0
1px
2px
0
rgba(0,0,0,.15) inset, 0
3px
13px
3px
rgba(0,0,0,.3) inset;color: #ddd;}

最后,我们为了让这个页面在支持性比较差的IE浏览器中最大化的展现我们页面的效果,我们对其做了一些兼容措施,虽然使用IE6的用户越来越少,我们还是针对IE6做了一些兼容。
1.对于不支持CSS3中线性渐变的IE789浏览器我们这里通过设置ie的属性filter使其呈现效果。

1

filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#01DDBE",endColorstr="#02B69A",GradientType=0
);

2.我们在head部分通过if条件语句引用了一个ie.css,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

/*IE6下面不支持fliter的渐变处理*/
#brand .submit_button {background:#02B69A;color:#FFF}/*for ie6*/

/*IE6,7,8下面对其视差效果层显示较差的处理*/
#backgrounds {
_display:none;/*for ie6*/
*display:none;/*for ie7*/
position:absolute;
top:74px;
width:900px;
}
/*This is because on IE 7 and 8 the text in the input field doesn’t align (vertically) in the center.*/
.email_button {
line-height:40px;
}

3.对于不支持ie6下png透明我们在head头部使用if条件语句引用了js文件

<!–[if IE 6]>
< script src=”js/DD_belatedPNG.js”>
< /script>
< script>
DD_belatedPNG.fix(‘.png_bg’);
< /script>
< ![endif]–>
我们通过给PNG图片和以PNG图片为背景的层增加png_bg类,已达到透明目的。

   //Png transparent background in ie6
        var ua = checkB();
        if (ua["isIE6"]) {
                $("img,#left-box,#star,#brand,#sharebox,#sharebox ul li,#sharebox ul li a").addClass("png_bg");
        }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索浏览器
, ie6兼容.png
, background
, html3 css3 js jquery
, px
, 效果
, aircraft
, left
, 视差
Parallax
html5 教程、html、html5开发工具、html5模板、html5从入门到精通,以便于您获取更多的相关知识。

时间: 2024-10-29 20:26:04

html5+css3网页制作实例:制作comingsoon页面的相关文章

HTML+CSS网页制作实例:制作左上角卷角效果的网页

文章简介:HTML+CSS网页制作实例:制作左上角卷角效果的网页. 英文原文 http://designshack.net/articles/css/code-a-simple-folded-corner-effect-with-css/ 这篇文章中我们将介绍如何制做paper左上角的卷角效果. 我想让我的几句文字以一张有卷角折叠效果的纸为背景,如果直接用一张图片,很容易实现,但是这里我要用css来实现. 我的这种实现方法并不是非常具有创新意义,但是还是值得拿出来分享的,简单的来说,除了一个矩形

CSS3网页布局实例代码:始终在网页底部代码2则

文章简介:CSS3网页布局实例代码:始终在网页底部代码2则 <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>始终在底部(1)</title><style>body{margin:0} html, body{height:100%}

html5+css3网页模糊图片效果简单例子

效果如下 例子1 <!DOCTYPE html> <html> <head>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">     &

jquery网页制作实例:制作简单网页遮罩层

文章简介:利用jq制作一个很简单的遮罩层. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head>         <m

《HTML5+CSS3网页设计入门必读》——6.4 使用Web字体

6.4 使用Web字体 在上一节中,看到我们十分确信所用的字体系列驻留在每个人的计算机上.也就是说,可以保证大多数计算机都会呈现Arial或Times New Roman,或者具有用于serif和sans-serif的所必需的默认字体,如果这是样式表所需要的话.但是,利用CSS3中包括的@font-face特性,甚至可以对在线放置的内容发挥更大的设计能力. 简而言之,@font-face特性允许在HTML5标记中定义要使用的字体,使得无论用户是否在他们的计算机上安装了那些字体(并且很有可能用户没

《HTML5+CSS3网页设计入门必读》——导读

前言 当我和Mandy Brown.Jason Santa Maria成立A Book Apart时,我们十分希望对一个主题内容进行整理并成书出版,而且我们觉得,只有一个作者适合这项工作. 网页设计是基于标准的.虽然"real fonts"或CSS3也对网页设计产生了深远的影响,但HTML的影响是其他方面所无法比拟的.HTML是开发人员对W3C步调和政策不满的结果,它是为网页应用程序(而不仅仅是文件)而设计的,因此,虽然这个新版本的网络语言令网页设计界为之兴奋,但也导致了同等程度的愤怒

《HTML5+CSS3网页设计入门必读》——2.8 转变(CH-CH变化)

2.8 转变(CH-CH变化) 元素big已经过时了,但元素small却还没有.通过重新定义small的含义,这种显著的矛盾已经得到解决.small的含义不再是其字面意义,即"在小号字体下进行显示".相反,其语义值变为法律术语.条款或附属细则以小号字体显示. 当然,十有八九,开发人员会以小号字体显示附属细则,但重点是该元素的字面意义已被取代. 元素b曾表示"用粗体显示".现在,它被用来将一些文本"偏离正常的样式而不具有任何额外的重要性".如果文本

《HTML5+CSS3网页设计入门必读》——2.9 闪亮的新工具:JavaScript API

2.9 闪亮的新工具:JavaScript API 如果想要获取关于CSS的文档,需要查阅CSS 规范.如果寻找的是有关标记的文档,需要查阅HTML规范.但是,哪里可以查阅JavaScript API的文档,例如document.write.innerHTML和window.hitory?JavaScript规范所涉及的全部是编程语言,因此无法获得任何与浏览器API有关的内容. 到现在为止,浏览器一直独立创建和执行JavaScript API并相互借鉴.HTML5对这些API的记录是一劳永逸的,

《HTML5+CSS3网页设计入门必读》——1.2 创建Web内容

1.2 创建Web内容 你可能注意到本书中使用的术语是"Web内容"(web content),而不是"Web页面"(web page),我们是有意这样做的.尽管我们谈论的是"访问Web页面",但是我们实际的意思是"查看我们计算机上的一个地址上的所有文本和图像".我们阅读的文本和查看的图像都是通过Web浏览器呈现的,在单独的文件中可以找到关于它们的某些指导. 这些文件可以包含被HTML代码标记(mark up)或包围的文本,告