HTML结构化:DIV+CSS网页布局入门指南
你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: &z0fi}}G9W C_e6qr u/gM/U
第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。
另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该转换成对 应的什么CSS语句。 /P%us'ow]'P
当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。
结构化HTML 5f%L4fL9Nv2_Z*M
!c dxPc7o(P
我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用Photoshop或者Fireworks画出来、切割成小图。最后再通过编辑HTML将所有设计还原表现在页面上。
如果你希望你的HTML页面用CSS布局(是CSS-friendly的),你需要回头重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。 v6Ej f0F q3s/^3?!D
8T F4aH G2D
外观并不是最重要的。一个结构良好的HTML页面可以以任何外观表现出来,CSS Zen Garden是一个典型的例子。CSS Zen Garden帮助我们最终认识到CSS的强大力量。
:z-gW+iBVKtW
HTML不仅仅只在电脑屏幕上阅读。你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方,任何网络设备上。 MH1sS8U*@ K L7q
!lzh5~"_
开始思考
/kIEgIP#b.krv
8Z:N8@/F Jn/vgN+y]m
首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容目的建立起相应的HTML结构。 Ho4Q IQ1u
如果你坐下来仔细分析和规划你的页面结构,你可能得到类似这样的几块: 3N(@O.R*g
I-V*or6FG*uH
标志和站点名称
主页面内容
站点导航(主菜单) wg8[A,U`'a
子菜单 t;YmG{5`R
搜索框
功能区(例如购物车、收银台)
页脚(版权和有关法律声明) 5@#f/w/uD
我们通常采用DIV元素来将这些结构定义出来,类似这样: Q:h$yTJ3T(G+FWp
<div id="header"></div>
0~{3~ kouI@
<div id="content"></div>
cl.mw j
<div id="globalnav"></div> h%nK l6ih
!bNP:X7W*th
<div id="subnav"></div> WrT-Jw
<div id="search"></div>
<div id="shop"></div>
<div id="footer"></div> Ak0P3| k c
-bo$~$?i
这不是布局,是结构。这是一个对内容块的语义说明。当你理解了你的结构,就可以加对应的ID在DIV上。DIV容器中可以包含任何内容块,也可以嵌套另一个DIV。内容块可以包含任意的HTML元素---标题、段落、图片、表格、列表等等。 #l,c j"Eb6Gp
5njZd'[Ikb~!b
根据上面讲述的,你已经知道如何结构化HTML,现在你可以进行布局和样式定义了。每一个内容块都可以放在页面上任何地方,再指定这个块的颜色、字体、边框、背景以及对齐属性等等。