1、Update:本篇已得到原作者Steve Dennis的翻译准予,在此Jorux表示感谢! 本教程主要参考Creating a CSS Layout from scratch,由Jorux翻译,以意译为主,其间加入了不少Jorux的个人观点,省略了一些多余的说明,请读者明鉴。 目录: · 第一步:规划网站,本教程将以图示为例构建网站; · 第二步:创建html模板及文件目录等; · 第三步:将网站分为五个div,网页基本布局的基础; · 第四步:网页布局与div浮动等; · 第五步:网页主要框架之外的附加结构的布局与表现; · 第六步:页面内的基本文本的样
2、式(css)设置; · 第七步:网站头部图标与logo部分的设计; · 第八步:页脚信息(版权等)的表现设置; · 第九步:导航条的制作(较难); · 第十步:解决ie浏览器的显示bug; 第一步:规划网站,本教程将以图示为例构建网站 1.规划网站,本教程将以下图为例构建网站。 其基本布局见下图: 主要由五个部分构成: 1.Main Navigation 导航条,具有按钮特效。 Width: 760px Height: 50px 2.Header 网站头部图标,包含网站的logo和站名。 Width: 760px Height: 150px
3、 3.Content 网站的主要内容。 Width: 480px Height: Changes depending on content 4.Sidebar 边框,一些附加信息。 Width: 280px Height: Changes depending on 5.Footer 网站底栏,包含版权信息等。 Width: 760px Height: 66px 第二步:创建html模板及文件目录等 1.创建html模板。代码如下:
4、//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5、
6、
7、uiv="Content-Language" content="en-us" />
8、
将其保存为index.html,并创建文件夹css,images,网站结构如下: 2.创建网站的大框,即建立一个宽760px的盒子,它将包含网站的所有元素。在html文件的和之间写入9、 Hello world.
10、 760px; margin: auto; background: red; } #page-container { width: 760px; margin: auto; background: red; } 现在你可以看到盒子和浏览器的顶端有8px宽的空隙。这是由于浏览器的默认的填充和边界造成的。消除这个空隙,就需要在css文件中写入: html, body { margin: 0; padding: 0; } html, body { margin: 0; padding: 0; } 第三步:将网站分
11、为五个div,网页基本布局的基础: 1.将“第一步”提到的五个部分都放入盒子中,在html文件中写入:
13、 } #header { background: blue; height: 150px; } #sidebar-a { background: darkgreen; } #content { background: green; } #footer { background: orange; height: 66px; } #main-nav { background: red; height: 50px; } #header { backgro
14、und: blue; height: 150px; } #sidebar-a { background: darkgreen; } #content { background: green; } #footer { background: orange; height: 66px; } 表现如下: 第四步:网页布局与div浮动等: 1.浮动,首先让边框浮动到主要内容的右边。用css控制浮动: #sidebar-a { float: rightright; width: 280px; background: darkgreen;
15、 } #sidebar-a { float: right; width: 280px; background: darkgreen; } 表现如下: 2.往主要内容的盒子中写入一些文字。在html文件中写入:
16、enim. Maecenas in lectus. Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget,
17、 purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
18、 Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc ve
19、stibulum ligula. In hac habitasse platea dictumst.
20、文件中写入:
21、cus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
22、"sidebar-a"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus. Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus. Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate.
23、 Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
24、浮动,所以可以理解为它位于整个盒子之上的另一层。因此,底框和内容盒子对齐了。 因此我们往css中写入: #footer { clear: both; background: orange; height: 66px; } #footer { clear: both; background: orange; height: 66px; } 表现如下: 第五步:网页主要框架之外的附加结构的布局与表现: 第五步主要介绍除网页主要框架之外的附加结构的表现(Layout),包括以下内容: 1.主导航条; 2.标题(headi
25、ng),包括网站名和内容标题; 3.内容; 4.页脚信息,包括版权,认证,副导航条(可选)。 加入这些结构时,为了不破坏原有框架,我们需要在css文件"body"标签(TAG)下加入: .hidden { display: none; } .hidden { display: none; } ".hidden"即我们加入的类(class),这个类可以使页面上任意属于hidden类的元素(element)不显示。这些会在稍后使用,现在请暂时忘记它。 现在我们加入标题(heading): 先回到HTML的代码,
26、代码。比如我们一般用
27、 padding: 0; } h1 { margin: 0; padding: 0; } 接下来是导航条: 控制导航条表现的css代码相对比较复杂,我们将在第九步或是第十步中详细介绍。现在html文件加入导航代码:
30、ct">
33、ter">
表现段落;用断行。
Enlighten Designs is an Internet solutions provider that specialises in 36、
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. 37、 Phone: (07) 853 6060
Enlighten Designs 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 h 39、ave any questions or would
like more information about the services we provide please feel free to contact us. Phone: (07) 853 6060 40、x: 14159, Hamilton, New Zealand 44、概是15px,每个段落的间距也大概是15px,所以在css中写入:
#content h2 {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
#content p {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
#content h2 {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
#content p {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
然后需要让content层的四周都空出25px的间隙,这本来是件很简单的事,理论上我们只需在#content的css文件中加入padding: 25px;就行了,但是IE给我们上了"一课",它的固有BUG根本不能按我们的想象表现。解决这个问题有两种办法。第一种办法是区别浏览器写入两种代码(HACK IE),但因为间隙(padding,在Dreamweaver中又叫填充)使用很频
表现内容标题–"About","Contact us";用
About
Contact Us
Fax: (07) 853 6060
Email: info@enlighten.co.nz
P.O Box: 14159, Hamilton, New ZealandAbout
Contact Us
Fax: (07) 853 6060
Email: info@enlighten.co.nz
P.O Bo