http://www.cnblogs.com/bindsang/archive/2008/07/28/1254385.html

DIV+CSS布局的几点建议

玩Web重构也有段时日了,算有了那么些心得。经常有网友问才子一些关于布局方面的问题,SvnHost群里还有朋友请才子多写点关于布局方面的教程,帮助一些新手,才子也答应了会多写些关于布局方面才子自己的一些经验及心得,分享给大家。

Web重构许多人认为就是简单的DIV+CSS布局而已,这显然是个错误的概念,具体解释才子不想多说了,这方面文章一堆。DIV+CSS布局的确是重构里非常重要的一环,才子今天就讲讲布局方面的几点建议。

1. 请设计一套适合自己风格的布局(含XHTML及CSS)。

  其实每个网站设计者一般都有自己的风格,那么请单独设计一套自己喜欢的布局方式,包括XHTML及CSS。请一定要熟练的记住各个布局模块之间的从属关系。本文最后会附上一张示意图。

2. 请务必给每个参与布局的模块都加上一个唯一的ID标识符。如#header, #content, #footer等。

  也许你暂时根本不需要在CSS中为每个模块定义单独的样式,但你敢说以后也不会需要吗?如果不确定,那就请加上ID。而且请搞清楚,ID标识不光是为了方便CSS里定义它的样式,它同时还是一个DOM的节点,为了以后的扩展,这个ID也是十分有必要的。

3. 请不要使用除了div之外的任何其它元素标签来参与布局。

  这一点很多人可能会有疑问,难道连span,ul,li,p,h1,h2.....这些标签都不要用了吗?当然不是,请看清楚,才子指的是布局,而这些标签都只是为了渲染一些效果而需要使用到的一些内容的容器,与布局无关。

4. 内容里某些地方需要特殊渲染,能够使用元素标签样式来做渲染的,请不要再复杂化而使用其它的类选择符来渲染。

  这点有点拗口,说不太清,请看这篇文章:巧妙的利用XHTML中不常用的标签元素,大概就这么个意思了。

5. 请善用注释,缩进,空行。

  不管是什么代码,XHTML也好,CSS也好,JS也好,后台程序代码也好,全部适用。例如XHTML代码里,每个模块开始都加上一个注释,说明是什么模块,而各层的div的嵌套,都请注意好缩进,下一层的比上一层的多一个缩进,务必一眼就可以清楚的看出结构来。每个模块之间,请不要吝啬一两个空行,做到这几点,你会发现,不管是你自己看源码也好,人家看源码也好,都会很容易上手,如果是需要修改的话,会大大的提高效率。

6. 做一个项目时,请一定要写一个开发文档。

  开发文档就是开发过程中的一些要点关键点,一定要记录下来,如目录结构(如有必要,各目录及文件的作用都最好记录下),页面布局情况等等,方便自己随时查阅,如果将来要换人来做这项目的话,人家也容易接手。

暂时说这么多,也许还会有很多值得注意的地方,才子一旦想到会及时加上,谢谢!

针对第1点,附上一张才子前段时间帮人做的一个企业站的布局图:

这是个典型的三行两列的布局,上面是header,中间是content,中间又分成左右两部分(sidebar和main),最下面是footer。大结构很清晰,不用多解释了。下面来大致看一下具体是如何布局的:
网站最外层是一个大容器#wrap,所有内容全往里面装,只要定义了它的宽度,全局都生效,建议都这样来定义一个外层容器。
最上面是header容器,里面有三个模块,分上下两层,上层又分左右两个模块,logo和banner,下层是nav模块,也就是菜单啦。
中间是content容器,分左右两个大模块,sidebar和main,sidebar又有上下两个模块,login和recommend模块,右边main也有上下两个模块,ad和product。
最下面是footer容器。
最后附上以上布局的一个简单源码,仅供参考!
<!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" lang="gb2312" dir="ltr"> <head> <title> 标准的三行两列布局 </title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-language" content="gb2312" /> <meta name="author" content="Macky, 风流才子" /> <style type="text/css"> <!-- body {   margin: 0px;   background: #fff;   text-align: center;   font: 12px Verdana, Geneva, Arial, Helvetica, Sans-Serif;   color: #000; } #wrap {   margin: 0 auto;   width: 760px;   text-align: left; } #header {   width: 100%;   height: 80px;   background: #eee; }   #logo {     float: left;     width: 200px;     height: 80px;     line-height: 80px;     text-align: center;     background: #fafafa;   }   #banner {     margin-left: 200px;     height: 80px;     line-height: 80px;     text-align: center;   }   #nav {     clear: both;     height: 30px;     line-height: 30px;     text-align: center;     background: #e0e0e0;   } #content {   clear: both;   background: #eee; }   #sidebar {     float: left;     width: 180px;     background: #fafafa;     padding: 5px;   }     #login, #recommend {       height: 100px;       text-align: center;     }   #main {     float: left;   }     #ad {       height: 80px;       line-height: 80px;       text-align: center;       background: #eee;     }     #product {       padding: 10px;     } #footer {   clear: both;   width: 100%;   height: 80px;   line-height: 80px;   background: #eee;   text-align: center; } //--> </style> </head> <body> <div id="wrap">   <div id="header">     <div id="logo">Logo</div>     <div id="banner">Banner</div>     <div id="nav">nav | nav | nav | nav | nav | nav | nav | nav | nav | nav | nav | nav | nav</div>   </div>   <div id="content">     <div id="sidebar">       <div id="login">Login</div>       <div id="recommend">Recommend</div>     </div>     <div id="main">       <div id="ad">AD</div>       <div id="product">Product</div>     </div>   </div>   <div id="footer">footer</div> </div> </body> </html>

风流才子 作品,转帖请保留原文地址链接,谢谢合作!
才子小窝:http://www.54caizi.org/

转载于:https://www.cnblogs.com/flyaway007/archive/2008/09/11/1288999.html

DIV+CSS布局的几点建议相关推荐

  1. 根本不存在 DIV + CSS 布局这回事

    实际上div不是用来布局的,div只是用来表示一个其它元素都无法准确表达语意的一个块区,只有CSS是用于布局的,所以根本就不存在div+CSS布局这回事.反过来,table布局的时候经常依赖于CSS定 ...

  2. DIV CSS布局-固定页面开度布局

    DIV CSS布局中主要CSS属性介绍: Float: Float属性是DIV CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Fl ...

  3. html中表格布局还是div布局,Table布局 VS Div+CSS布局,选哪个?

    Table布局 和 Div+CSS布局的争论,过了7-8年了,今天看到一篇文章<为什么我们不建议用Table布局>,又想发表下自己的见解,供初学 <为什么我们不建议用Table布局& ...

  4. Div+CSS布局入门教程(五) 页面制作-用好border和clear 附加:1.DIV+CSS设计原则 2.DIV+CSS中标签ul ol li dl dt dd用法

    这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性. 首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其 ...

  5. div+css 布局下兼容IE6 IE7 FF常见问题

    div+css 布局下兼容IE6 IE7 FF常见问题 收藏 所有浏览器 通用 (市面上主要用到的IE6 IE7 FF) height: 100px; IE6 专用 _height: 100px; I ...

  6. div+css布局与seo的关系

    标准的DIV CSS布局对SEO的影响 SEO是指搜索引擎优化,主要就是通过对网站的结构.标签.排版等各方面的优化,使搜索引擎更容易抓取网站的内容,并且让网站的各个网页在等搜索引擎中获得较高的评分,从 ...

  7. DIV+CSS布局基本流程及实例介绍

    都说用DIV+CSS布局来设计网站便于优化,容易被收录,那么你对DIV+CSS布局的用法是否了解?CSS布局是网页html通过DIV标签+CSS样式表代码开发制作的(html)网页的统称.DIV+CS ...

  8. div css教程 属性,Div+CSS布局入门教程

    在网页制作中,有许多的术语,例如:CSS.HTML.DHTML.XHTML等等.在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础 ...

  9. div+css布局与table布局比较

    div+css布局与table布局比较 一.背景介绍 table布局是网页早期布局实现的主要手段,当时的网页构成,相对也比较简单,多是以文本 以及静态图片等组成的,类似于报纸的形式,分区分块显示,ta ...

最新文章

  1. 转载大神的 Linux查看物理CPU个数、核数、逻辑CPU个数
  2. WCF方法拦截及OperationInvoker传递参数到WCF方法的实现
  3. hadoop-2.4.0完全分布式集群搭建
  4. SQL CE 3.0 与SQL CE 3.5区别
  5. html模板安装到织梦,织梦网站安装教程 织梦模板通用安装图文教程
  6. Arduino学习笔记-新的按键控制方式
  7. linux vim复制粘贴删除,Linux vim删除、复制、粘贴快捷键
  8. Vue项目中关闭Eslint
  9. 洛谷1056 排座椅 解题报告
  10. 仿堆糖图片自滚动瀑布流效果
  11. java的colt矩阵操作_colt-1.2.0
  12. icode青少年编程比赛网站学生刷题进度爬虫
  13. 计算机硬盘检测和修复工具,教你怎么使用硬盘检测修复工具教程
  14. 华为安装gsm框架_华为谷歌框架安装app下载-华为谷歌服务框架安装器(GMS安装器)下载v1.2.0 最新版-西西软件下载...
  15. C#从文件读取 Stream
  16. 人工智能 漆桂林_2020年CCF专委活动计划(预通过)
  17. WIN10一键开启所有服务
  18. 大赛来袭 | 千万项目商机+超40W大赛奖金,快来报名吧!
  19. python发朋友圈突破朋友圈限制_突破限制!原来朋友圈可以发长达5分钟的视频,后悔没早点知道...
  20. Hadoop集群性能测试

热门文章

  1. 面试题: 大公司面试 !=!=未看
  2. 百度万人协同规模下的代码管理架构演进
  3. 《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.40. Expat-2.1.0...
  4. 智慧医疗解决方案可以大大减少医疗资源浪费!
  5. 《深入学习VMware vSphere 6》——1.5 主流服务器的RAID配置
  6. 设计模式学习笔记之代理模式
  7. 从技术到产品,转型的这一年我明白了很多道理
  8. 商业 - 业务领先模型介绍(BLM)
  9. 10-2 使用Channel等待任务结束
  10. springboot交通事故档案管理系统答辩PPT免费下载