第十章:div+css网页标准布局实例教程

敖游
2015-12-23
来源:遨游建站

  

  测量后得知:整体宽度为900px,main部的宽度为664px,side宽度为228px。把这三个基本的宽度测量后,下面就可以写css代码了。由于本实例是按照实际当中应用来做的,所以css样式表就最好写在单独文件里了,不要再写在文件内部了,这样可以利用代码的重用性,减少很多劳动强度。下面就新建一个css样式表文件:在DW文件菜单选择新建,然后在打开的窗口页面类型中选择css,创建后保存在css文件夹中并命名为layout.css

  

  

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

  body { margin:0 auto; 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:#05a; text-decoration:none;}

  a:hover { color:#f00;}

  全局的样式定义完后,下面定义以上几大块的样式,先设置下#containerr的样式如下:

  #container { width:900px; margin:0 auto;}

  预览下index.html,发现并没有改变,这是为什么呢?因为刚定义的样式表没有和html文件关联,所以设置的样式当然不能对它生效了,还记得第一天课时讲的几种样式并联方式吗?下面我操作一遍:在css面板中点击附加样式表按钮,然后在弹出的窗口中选择刚才创建的样式表文件,确定,ok了,预览一下,是不是整体已经居中了呢。

  

  

  如果已经是宽度为900px并居中,说明样式和文件关联好了。这就是为什么要定义一个站点了,因为许多文件要关联在一起才能构成一个完整的网页,所以要把它们放在一起,才能让这个页面找到和它相关的文件在哪里。下面设置内部几大块的样式,为了便于观察,我们把部分块设置了背景色。代码如下:

  /*body*/

  #container { width:900px; margin:0 auto;}

  /*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:autol; zoom:1;,这样就可以让它自动适应内部元素的高度了。

  现在再预览一下,是不是都正常了。为了更加保险,建议在header、nav、maincontent、footer之间增加如下一句代码并设置css样式如下,它的作用是清除浮动。

  <div></div>

  .clearfloat {clear:both;height:0;font-size: 1px;line-height: 0px;}

  <!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>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  <title>主页</title>

  <link href="http://www.aa25.cn/upload/2010-09/16/layout.css" rel="stylesheet" type="text/css" />

  </head>

  <body>

  <div id="container">

  <div id="header">此处显示 id "header" 的内容</div>

  <div></div>

  <div id="nav">此处显示 id "nav" 的内容</div>

  <div></div>

  <div id="maincontent">

  <div id="main">此处显示 id "main" 的内容</div>

  <div id="side">此处显示 id "side" 的内容</div>

  </div>

  <div></div>

  <div id="footer">此处显示 id "footer" 的内容</div>

  </div>

  </body>

  </html>

  提示:可以先修改部分代码后再运行

  四、切割效果图

  基本框架搭建完毕后,下一步就是要分析每一块该怎么切图了。切图方法有多种,可以使用ps或fireworks自带的切片工具,也可以用QQ的截屏或者创建新文件,把需要的部分复制过来保存都可以,关键看个人喜好了。

  

  用ps的切片工具的话,把需要切割的区域用切片工具切分,如果要设置图片的名称,请使用切片选择工具,然后在切片上双击,会弹出如下窗口,填写名字后确定即可。

  

  切割完后,需要保存图片了,选择文件——存储为web和设备所用格式,在弹出的窗口中点击选中切片,然后在右侧可以设置当前切片的图片格式。这里有个技巧,一般小型色彩单一的图片,采用gif格式,照片类大型图片采用jpg,这样生成的图片既能保证质量,图片体积又小,

  

  

  设置完图片的格式后,就可以存储了,这里选择到images的上一级目录就行了,ps会自动创建images目录并把图片文件放入,如果已存在,直接放入。在格式处选择仅限图像,如果选择html和图像,ps会自动生成一个表格式的网页,这个页面不是我们需要的,就不让它生成了;还有一个需要注意的地方就是选择所有用户切片,这样只把我们手动切割的图片保存下来,其它的就不保存了。保存后的图片如下所示,其中hot_bg.gif这张图片切割时没有隐藏上边的文字,一会儿在ps里再处理一下把文字抹掉。

  

  

  目前所切的图片只是一部分,并没有把整个页面所需的图片全都切割下来,比如导航部分所用背景图片可以放到一张图片上,下面就用新建文件,然后用QQ截屏,粘贴过去的方法来创建。

  

  分析一下上图的导航部分:1、两端的圆角;2、鼠标划过状态和当前栏目状态宽度应该随着字数的多少而改变;3、二级导航有鼠标划过时的状态。分析完之后,就需要把需要的图片整合到一张图片上了,整合的结果如下图,这个根据自己的需要进行整合。其实完全可以把其它一些小图标都整合在一张,但那样操作起来比较麻烦,所以我们还是归一下类,把相关的图标整合到一起。

  

  接下来整合侧边栏的背景图片,分析发现侧边栏应用同样的样式,只不过高度有所不同,而且是四角都是圆角,所以只用一个通用的就可以满足所有侧边栏块的需求了。那么怎么制作这个通用的背景呢?从下图我们发现,标题的高度都是一样的,只不过是下边的内容高度不同而已,那么我们把下边内容的背景制作的足够长,超过可能出现的最大高度就可以满足需求了。

  

  

  整合后的效果如上图,如果你现在还不明白为什么要这么做,那么一会儿写完样式表你就明白了。下面把三个图标也给切出来,如下图:

  

  这些完事后,还有联系我们的图片和修饰小图标了。联系我们的图片如下,这里的图片和小图标要背景透明,这样才不会遮盖下面的背景。

  

  

  (接下一篇)

  div+css网页标准布局实例教程(二)

  (接上一篇,本节教程文字较多,比较枯燥,如果前边知识学习牢固,可以直接下载源代码查看,哪个地方不明白,再回过头来看哪一部分)

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

  有了上边的基础,下面的任务就是要利用html和css制作完成一个完整的网页了。先从头部开始,第三小节时我们已经把整体框架给搭建好了,就像盖房子一样,整体结构已经出来了,下面就需要填砖分割空间了。先分析下头部:分为两部分,一个是logo靠左侧显示,一个是搜索靠右侧显示,那么布局时插入两个div,一个向左浮动,一个向右浮动的方式来完成。另外还有很多种实现方法,比如logo用h1标签,搜索用span,或者把logo做为背景图片也是可以的,不管采用哪种方法,要根据页面的需求选用一种最合理的方法。如果要在logo加上链接的话,那么就不能用背景图片的方法了。

2  /  5
阅读593
分享
写评论...