2008-4-24 09:27
lonjew
十步学会用css建站第五步
第五步:网页主要框架之外的附加结构的布局与表现:
第五步主要介绍除网页主要框架之外的附加结构的表现(Layout),包括以下内容:
1.主导航条;
2.标题(heading),包括网站名和内容标题;
3.内容;
4.页脚信息,包括版权,认证,副导航条(可选)。
加入这些结构时,为了不破坏原有框架,我们需要在css文件"body"标签(TAG)下加入:
.hidden {
display: none;
}
".hidden"即我们加入的类(class),这个类可以使页面上任意属于hidden类的元素(element)不显示。这些会在稍后使用,现在请暂时忘记它。
[b]现在我们加入标题(heading):[/b]
先回到HTML的代码,到是我们常用的html标题代码。比如我们一般用网站名,网站副标题,内容主标题等。我们往html文件的Header层(Div)加入:
Enlighten Designs
刷新一下页面,你就可以看到巨大的标题,和标题周围的空白,这是因为>标签的默认大小和边距(margin)造成的,先要消除这些空白,需要加入:
h1 {
margin: 0;
padding: 0;
}
[b]接下来是导航条[/b]:
控制导航条表现的css代码相对比较复杂,我们将在第九步或是第十步中详细介绍。现在html文件加入导航代码:
About
Services
Portfolio
Contact Us
(注:原教程使用了dl和dt,jorux在这使用了更常用的ul和li标签)
目前导航条的表现比较糟糕,但是要在以后的教程中介绍其特殊表现,故需要暂时隐藏导航条,于是加入:
About
Services
Portfolio
Contact Us
[b]我们跳一步,先到页脚:[/b]
页脚包括两部分:左边的版权,认证和右边的副导航条。
我们先要让副导航条向右浮动,就像之前处理Sidebar和Content关系的一样,需要加入一个新的层(div):
About -
Services -
Portfolio -
Contact Us -
Terms of Trade
理论上,我们可以控制源文件上的任意元素的浮动,但由于IE浏览器的BUG,被浮动层需要首先出现在源文件上,也就是说我们把副标题放在版权和认证的前面:
About -
Services -
Portfolio -
Contact Us -
Terms of Trade
Copyright © Enlighten Designs
Powered by Enlighten Hosting and
Vadmin 3.0 CMS
刷新你的页面,你将看到如下所示(点击看大图):
[img]http://webdesign.chinaitlab.com/UploadFiles_8014/200712/20071229113248382.jpg[/img]
[b]最后我们回到内容部分:[/b]用表现内容标题–"About","Contact us";用表现段落;用断行。
About
[b]Enlighten Designs[/b] is an Internet solutions provider that specialises in
front and back end development. To view some of the web sites we have created view our
portfolio.
We are currently undergoing a 'face lift', so if you have any questions or would
like more information about the services we provide please feel free to contact us.
Contact Us
Phone: (07) 853 6060
Fax: (07) 853 6060
Email: info@enlighten.co.nz
P.O Box: 14159, Hamilton, New Zealand
More contact information…
刷新页面可以看到在Content层中又出现一些空白,这是由于标签的默认边距(margin)造成的,我们必须消除这些恼人的空白,当又不想把网页中所有的标签地边距都设为0,这就需要使用css的子选择器("child css selector"),在html的文件结构中,我们想控制的标签(child)是属于#content层(parent)的,因此在css文件中写入:
#content h2 {
margin: 0;
padding: 0;
}
#content p {
margin: 0;
padding: 0;
}
这样我们就告诉浏览器,仅仅是隶属于content层的标签的margin和padding的值为0!