书签 分享 收藏 举报 版权申诉 / 32

类型dw实训案例制作过程1.docx

  • 文档编号:23312272
  • 上传时间:2023-05-16
  • 格式:DOCX
  • 页数:32
  • 大小:134.58KB

此处显示id"nav"的内容

此处显示id"main"的内容

此处显示id"side"的内容

此处显示id"footer"的内容

从上边的效果图分析得知,整个网页是居中浏览器显示的,按照这样的写法需要把以上的header、nav、maincontent、footer都设置宽度并居中,这样做起来很麻烦,所以再在这些标签外增加一下父标签,设置这个父标签宽度并居中后,是不是所有的标签都居中了呢。

增加后的代码如下:

此处显示id"header"的内容

此处显示id"nav"的内容

 此处显示id"main"的内容

 此处显示id"side"的内容

此处显示id"footer"的内容

html框架代码写完后,下边就需要设置css样式表了。

设置container宽度900px并居中,main部的宽度为664px,side宽度为228px,与效果图宽度一致。

下面就可以写css代码了。

由于本实例是按照实际当中应用来做的,所以css样式表就最好写在单独文件里了,不要再写在文件内部了,这样可以利用代码的重用性,减少很多劳动强度。

下面就新建一个css样式表文件:

在DW文件菜单选择新建,然后在打开的窗口页面类型中选择css,创建后保存在css文件夹中并命名为layout.css

保存后先设置全局的样式,而后写每一块单独的样式,全局样式如下:

body{margin:

0auto;font-size:

12px;font-family:

Verdana;line-height:

1.5;}

ul,dl,dd,h1,h2,h3,h4,h5,h6,form,p{padding:

0;margin:

0;}

ul{list-style:

none;}

img{border:

0px;}

a{color:

#444;text-decoration:

none;}

a:

hover{color:

#f00;}

全局的样式定义完后,下面定义以上几大块的样式。

定义的样式表和html文件关联(link)。

如果已经是宽度为900px并居中,说明样式和文件关联好了。

这就是为什么要定义一个站点了,因为许多文件要关联在一起才能构成一个完整的网页,所以要把它们放在一起,才能让这个页面找到和它相关的文件在哪里。

下面设置内部几大块的样式,为了便于观察,我们把部分块设置了背景色。

代码如下:

/*body*/

#container{width:

900px;margin:

0auto;}

/*header*/

#header{height:

70px;background:

#CCFFCC;margin-bottom:

8px;}

#nav{height:

30px;background:

#CCFFCC;margin-bottom:

8px;}

/*main*/

#maincontent{margin-bottom:

8px;}

#main{float:

left;width:

664px;height:

500px;background:

#FFFF99;}

#side{float:

right;width:

228px;height:

500px;background:

#FFCC99;}

/*footer*/

#footer{height:

70px;background:

#CCFFCC;}

现在预览一下:

在IE6下#maincontent的底部外边距并没有生效,而在IE8下,#footer干脆跑到#maincontent的下边了,这又是怎么回事呢?

如果前边你都认真学的话,那么这个问题已经不是问题了。

这就是之前我们讲的,如果一个容器内的元素都浮动的话,那么它的高度将不会去适应内部元素的高度。

解决办法是在#maincontent增加overflow:

auto;zoom:

1;,这样就可以让它自动适应内部元素的高度了。

现在再预览一下,是不是都正常了。

为了更加保险,建议在header、nav、maincontent、footer之间增加如下一句代码:

并设置css样式如下,它的作用是清除浮动。

.clearfloat{clear:

both;height:

0;font-size:

1px;line-height:

0px;}

 

主页

此处显示id"header"的内容

此处显示id"nav"的内容

此处显示id"main"的内容

此处显示id"side"的内容

此处显示id"footer"的内容

提示:

可以先修改部分代码后再运行。

知识点:

网页布局

四、切割效果图

知识点:

css基础

五、布局页面——头部和导航 

有了上边的基础,下面的任务就是要利用html和css制作完成一个完整的网页了。

先从头部开始,第三小节时我们已经把整体框架给搭建好了,就像盖房子一样,整体结构已经出来了,下面就需要填砖分割空间了。

先分析下头部:

分为两部分,一个是logo靠左侧显示,一个是搜索靠右侧显示,那么布局时插入两个div,一个向左浮动,一个向右浮动的方式来完成。

另外还有很多种实现方法,比如logo用h1标签,搜索用span,或者把logo做为背景图片也是可以的,不管采用哪种方法,要根据页面的需求选用一种最合理的方法。

如果要在logo加上链接的话,那么就不能用背景图片的方法了。

此处显示id"logo"的内容

此处显示id"search"的内容

先在header里插入以上两块元素。

然后分别插入相应的内容,在logo里插入我们事先切割好的logo图片,在search里插入一个表单(补充知识点),一个文本框和一个按钮,插入后如下:

搜索产品

接下来定义css,头部的高度是71px,logo距顶部18px,搜索产品距顶部30px,下面在css里把这些参数都给定义上,看显示的效果和效果图中的效果是不是一样呢?

#logo{float:

left;margin-top:

18px;}

#search{float:

right;margin-top:

30px;}/**为通配符,意为匹配IDsearch下的所有元素应用这属性。

*/

这两项的位置已经差不多了。

预览你会发现,搜索框和按钮跟效果图中的不一样,这是因为我们还没对它设置样式,接下来把文本框增加一个class为inp_srh样式,按钮增加btn_srh的样式,然后定义这两个样式的属性。

#search{float:

right;height:

24px;margin-top:

30px;color:

#444;}

.inp_srh{width:

140px;height:

17px;padding-left:

20px;background:

url(../images/srh_bg.gif)no-repeat00;border:

1pxsolid#cbcbcb;}

.btn_srh{width:

58px;height:

23px;background:

url(../images/btn_srh.gif)no-repeat00;border:

none;cursor:

pointer;text-indent:

-999em;/*首行缩进*/}

#search*{vertical-align:

middle;}/*垂直居中*/

我们给search增加了高度和文字颜色,这点不用多解释,但高度为什么是24px,是为了照顾IE6,大家去掉测试下就知道了;

inp_srh的宽度和高度并不是实际效果图中的宽高,是因为默认情况下文本框带有内边距造成的。

另外就是padding的值也会算到总宽度上的;

btn_srh就是应用背景图像来实现的,说明:

border的值为none指的是无边框,

cursor定义鼠标样式为手形,之前有人用hand,但这个通不过w3c认证。

text-indent:

-999em它的作用相当于word中的首行缩进,这里设置成-999,意思是向左侧缩进-999em,这样是不是就看不到文字啦,所以它的作用是将按钮上的文字隐藏,当然也可以在html代码中插入空格代替文字,但这样做有点不太好,在不支持css的设备上查看时,用户不知道这个按钮是干什么的了。

所以建议采用这种形式;

这些设置完后,把最初搭建框架时设置的header的背景色和底部外边距给去掉吧。

#header{height:

71px;}

至此,头部的样式就完成了,下边该制作菜单了。

菜单制作参考教材ch9-17。

知识点:

css基础

Html的添加:

Js的添加:

知识点:

js

Js代码:

vartimeout=500;

varclosetimer=0;//隐藏下拉菜单用的定时器

varddmenuitem=0;

//打开下拉菜单

functionmopen(id){

//取消关闭定时器

mcancelclosetime();

//隐藏旧的下拉菜单

 

//得到和显示新的下拉菜单

ddmenuitem=document.getElementById(id);

}

//隐藏新的下拉菜单

functionmclose(){

}

//隐藏下拉菜单用的定时器

functionmclosetime(){

closetimer=window.setTimeout(mclose,timeout);

}

//取消定时器

functionmcancelclosetime(){

if(closetimer){

window.clearTimeout(closetimer);

closetimer=null;

}

}

//点击网页时,隐藏下拉菜单

document.onclick=mclose;

css的添加:

#menu{height:

36px;overflow:

hidden;}

#menuulli{float:

left;font-size:

14px;font-weight:

bold;margin:

5px5px05px;}

#menuulli>a{float:

left;display:

block;height:

26px;line-height:

26px;color:

#fff;padding-left:

20px;}

#menuulliaspan{float:

left;display:

block;padding-right:

20px;}

#menuullia:

hover{background:

url(../images/nav_bg.gif)0-163pxno-repeat;color:

#fff;}

#menuullia:

hoverspan{background:

url(../images/nav_bg.gif)right-163pxno-repeat;cursor:

pointer;}

#menuullidiv{position:

absolute;visibility:

hidden;background:

#EAEBD8;border:

1pxsolid#red;}

#menuullidiva{position:

relative;display:

block;padding:

5px10px;white-space:

nowrap;/*不换行*/

background:

#D0650D;color:

#fff;}

#menuullidiva:

hover{color:

#D0650D;background:

#fff;}

注:

float:

left是左浮动(可以把一些块放在一行), display:

block是块元素化。

还有最后一步:

就是两端的圆角没实现,实现圆角的方法也不复杂,只需再增加两行代码和两个样式即可。

在nav下nav_main之前增加如下两行代码:

然后用样式表定义一个左侧的圆角,一个右侧的圆角。

css样式如下:

#nav_l{float:

left;height:

36px;width:

5px;overflow:

hidden;background:

url(../images/nav_bg.gif)0-66pxno-repeat;margin-right:

10px;}

#nav_r{float:

right;height:

36px;width:

5px;overflow:

hidden;background:

url(../images/nav_bg.gif)-5px-66pxno-repeat;}

预览一下吧,看看头部和导航是不是和效果图中的一样呢

 

 

主页

搜索产品

相关搜索
dw 案例 制作 过程

热门标签

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开