15.2 亲自动手设计“禅意花园”页面


下面在详细介绍比较复杂的作品之前,先自己动手为禅意花园制作一个CSS设计方案。希望读者在学习完本书之后,也能够制作出漂亮的作品,提交到禅意花园网站上。

首先制作的页面效果如图1示。本例最终效果文件位于本书网页学习网CSS教程资源中“第15章\9999.htm”。


图1 简单效果

一、结构分析

分析一下布局结局,效果如图2所示。希望读者,特别是英语不是很好的读者,能够记熟这几个id的英文单词,这样能够方便地理解其中的道理。

在这个布局方案中,整体的container宽度固定,水平居中。intro在最上面,pageHeader和preamble采用标准流方式,而quickSummary使用浮动方式,这样就形成了左右并列效果。在pageHeader中两个标题并排,只需要使h2向右浮动就可以了。lodidance.com

接下来的supportingText部分按照普通的标准流方式布局,为了给右边的linklist留出空间,可以将它的右侧margin或padding设置为适当的宽度。

此时linklist只能通过绝对定位放置到需要的位置了。它的上级元素是container,因此必须要设定到container的上边的距离。实际上,如果是我们自己来写这个HTML,那么可以把intro部分放到container的外面,这样就可以将top设置为O,而不用管intro部分的高度了。但是由于HTML结构已经定死了,因此只能给出固定的距离顶部的高度。


图2 页面的布局示意图

这里请读者思考一个问题,如果supportingText部分使用向左浮动布局,linklist向右浮动,是否可行?会产牛什么问题?应该如何解决?

最后,把supportingText中的最后-个div-foorer设置为绝对定位方式,放置到页面右下角,这个页面就全部完成了。

在了解基本结构和方法的基础上,下面来具体讲解一下制作过程,希望读者能够通过这个制作过程,熟悉这个页面的结构,并经常思考一下,如何把本教程前面各个章节中的技术灵活地运用到这里。

二、整体设置

首先设置页面的整体背景色,文字等样式。

折叠展开CSS 代码复制内容到剪贴板

  1. body{
  2. margin: 0px;
  3. font-family : Arial, Helvetica, sans-serif;
  4. font-size : 11px;
  5. color: #557788;
  6. background-color: #C0CEDC;
  7. }

然后时文字段落的上下margin进行设置,这是为了使段落之间的距离在各个浏览器中相同。如果不设置的话,IE和Firefox中段落的间距会不同,而linklist需要绝对定位,这样效果就有有较大不同,因此在这里设置p的上下margin为10像素。

折叠展开CSS 代码复制内容到剪贴板

  1. p {
  2. margin:10px 0;
  3. }

接下来设置container的属性,宽度固定760像素,水平居中,白色背景,四周设置10像素padding。重要的一点是将container的定位属性设置为relaLive,这样做的目的是使它里面的绝对定位元素可以以它为基准进行定位。

折叠展开CSS 代码复制内容到剪贴板

  1. #container {
  2. background-color: White;
  3. width: 760px;
  4. margin: 10px auto;
  5. padding: 10px;
  6. position:relative;
  7. }

三、设置页头

① 现在来设置页面的大标题。注意为了使副标题靠右,可以使它向右浮动,代码如下。

折叠展开CSS 代码复制内容到剪贴板

  1. #pageHeader {
  2. background-color: #557788;
  3. padding: 10px;
  4. height: 35px;
  5. }
  6. h1 {
  7. font-size : 28px;
  8. color: White;
  9. margin: 0px;
  10. float: left;
  11. }
  12. h2 {
  13. font-size : 18px;
  14. color: #C0CEDC;
  15. margin-top: 5px;
  16. float: rightright;
  17. }

此时页面效果题目的标题部分已经形成了。

② 设置quickSummary部分的样式,使它的宽度为260像索,向右浮动。然后设置其内部的两段文字的样式,可以做一些装饰性的修饰。

折叠展开CSS 代码复制内容到剪贴板

  1. #quickSummary {
  2. float: rightright;
  3. width: 260px;
  4. }
  5. #quickSummary .p1 {
  6. color: White;
  7. background-color: #C0CEDC;
  8. border:1px #578 dashed;
  9. padding: 10px;
  10. margin: 10px 0px;
  11. font-size : 13px;
  12. }
  13. #quickSummary .p2 {
  14. font-size : 10px;
  15. margin: 0;
  16. }

此时效果quickSummary中的第一段文字设置了虚线的方框。

③ 设置quickSummary左侧的preamble部分,设定为向左浮动,宽度为490像素。此外,还需要设置preamble中的标题样式,这里对h3进行设置,它对整个页而上的所有h3标题都会发生作用。

折叠展开CSS 代码复制内容到剪贴板

  1. #preamble {
  2. width: 490px;
  3. float: left;
  4. }
  5. h3 {
  6. font-size: 18px;
  7. margin: 10px 0px 10px 0px;
  8. background: #C0CEDC url(corner.gif) no-repeat;
  9. line-height:27px;
  10. padding-left:10px;
  11. }

此时效果preamble以及其他部分中的h3标题都使用了统一的样式,浅色背景和深色文字。

四、设置supportingText部分和linkList部分

现在来设置supportingText部分和linklist部分,代码如下。

① supportingText使用标准流方式,因此设置右侧的margin为270像素,为linkList部分留出空间。

折叠展开CSS 代码复制内容到剪贴板

  1. #supportingText{
  2. margin-right:270px;
  3. width:490px;
  4. }

② 现在要对linkList进行绝对定位。这里希望linkList的上边缘与它左边的supportingText的最上边缘对齐,因此必须知道intro部分的高度(因为supportingText正好在intro部分的下面)。这里可以手工为intro设置一个高度,可以试验几次找到一个适当的高度,代码如下。

折叠展开CSS 代码复制内容到剪贴板

  1. #linkList {
  2. position:absolute;
  3. rightright:10px;
  4. top:230px;
  5. width: 260px;
  6. }
  7. #intro {
  8. height:230px;
  9. }

可以看到上述代码中linkList绝对定位的top值就正好等于#intro的高度值。

③ 还需要注意,由于h3标题设置了上下margin,因此需要对supportingText中最上面的那个h3标题进行特殊设置,将上侧的margin的值设置为0,代码如下。

折叠展开CSS 代码复制内容到剪贴板

  1. #explanation h3{
  2. margin-top: 0px;
  3. }

这时的效果可以看到这样才能保证linkList的位置看起来非常整齐。

④ 仍然使用绝对定位,把footer放置到页面右下角,并对链接的样式进行设置,代码如下所示。

折叠展开CSS 代码复制内容到剪贴板

  1. #footer{
  2. width:70px;
  3. position:absolute;
  4. bottom:20px;
  5. right:10px;
  6. }
  7. #footer a{
  8. text-align:center;
  9. display:block;
  10. padding:0 20px;
  11. border:1px #c00 dashed;
  12. }

⑤ 至此页面的布局已经完成了,最后可以对正文中的链接样式进行设置,加上虚线边框,代码如下:

折叠展开CSS 代码复制内容到剪贴板

  1. a:link,a:visited {
  2. text-decoration: none;
  3. color: #c00;
  4. }
  5. a:hover,a:active {
  6. text-decoration: underline;
  7. }

细心的读者可能会注意到,本案例最开始的效果图中,每个h3标题的左上角有一个斜角,有了本教程前面各章的基础,这是很容易实现的。lodidance.com

⑥ 准备一个10像素见方的图像,左上侧是白色,右下侧是背景色,然后将h3的背景图像设置为这个文件即可。

如果要实现标题左右两端都有斜角或圆角,就需要为左右两边各准备一张图片,将右边的图像放在h3中的span元素背景上即可。对这一点理解有困难的读者清参考前面涉及“滑动门”技术的章节。

到这里,这个案例就全部完成了。通过案例,熟悉了惮意花园页面的基本结构,以及设置的基本方法。这个案例设置的样式非常简洁,如果读者仔细浏览一下禅意花园中的作品,就能看到很多创意超群、精彩绝伦的页面都是基于这同一个简单的HTML代码产生的。

点击下载第8~17章CSS教程资源 返回《CSS教程布局之道》教程列表

编辑:网页学习网
本文地址:http://www.lodidance.com/css/jc/952.html

15.2 亲自动手设计“禅意花园”页面

时间: 2024-10-12 21:47:16

15.2 亲自动手设计“禅意花园”页面的相关文章

15.1 “禅意花园”页面HTML结构分析

在本教程的第2章中,我们介绍了一些“CSS禅意花园”的精美作品.在那时,读者还刚剐开始了解CSS,无法深入进行介绍和实践. 而现在,读者已经经过了十几章CSS和HTML案例的磨练,相信在这个过程中既感受到了思考的辛苦,也感受到了成功的喜悦. 在本章中,就结合前面所有章节介绍的技术,利用CSS禅意花园的网页和作品,进行一些综合的练习. 在本章中,介绍禅意花园的侧重点与<the Zen of CSS design>一书的区别在于,本书将更重视一个方案是如何做出来的,使读者更容易地理解其结构.在学习

15.3 禅意花园作品的赏析

在本教程的第2章中,向读者展示了一些禅意花园网站上很出色的作品,但是没有深入地介绍作品的设计和制作方法,在本章中,将更深入地分析几个典型的作品,看看它们是如何布局.如何实现出来的.此外,通过这几个页而的分析过程,向读者介绍分析网页的一些基本方法和工具,以便读者能够自己分析更多的作品,收获更多对自己有益的技术和技巧. 不少初学者在学习了一些CSS知识后,往往感觉虽然理解了基本的知识点,但是真正实践时无从下手,对于看到的一些比较复杂的页面,更是找不到分析思考的突破口. 实际上.学习技能的方法都是类似

2.3 CSS禅意花园作品赏析(下)

一.谷香——食品主题设计 在禅意花园的作品中,还有一些是围绕某一个主题进行设计的.例如这里展示的057号作品就是以食品为主体的设计.它是由美国设计师Shaun Inman设计的.通过精致的食品照片,是不是能勾起访问者的食欲呢? 此外,这个设计中述设计了非常漂亮的弹出菜单.但是这个效果在Firefox中可以正常显示,而在IE 6和IE 7中都无法显示菜单的效果. 访同这个作晶的网址是http://www.csszengarden.com/?cssfile=057/057.css,设计师的个人网站是

2.2 CSS禅意花园作品赏析(上)

一.郊野——两列布局 两列布局是所有网站中最常见的布局形式,也是禅意花园的作品中最常见到的.这种布局结构清晰,对访问者的引导性非常好.<郊野>是这类作品的代表,由意大利设计师Mario Carboni设汁.在这个作品中,页面划分合理,并且颜色搭配平和而协调,点击下面的网址查看. 访问这个作品的网址是http://www.csszengarden.com/?cssfile=149/149.css,设计师的个人网站是http://www.mariocarboni.com/. 二.像素画——三列布局

2.1 “CSS禅意花园”简介

在网站设计,特别是在css设计领域,有一个世界范围都非常著名的网站——CSS Zen Garden,中文名称为“CSS禅意花园”.这个网站以最有效.最优美的方式展示了CSS的最高境界. 任何一个学习CSS的人都不应该错过对CSS禅意花园的研究.本章将从禅意花园网站上的近千个作品中精选16个作品进行介绍,它们的HTML结构和内容是完全相同的,通过不同的CSS设置,就做出了完全不同的效果. CSS禅意花园是一位加拿大没计师Dave Shea创建的,他在网站设计的实际工作中逐渐认识到CSS的巨大潜力远

读《CSS禅意花园》 有感

1.图片用<img>标签添加到页面中,会增加页面的大小,导致页面加载需要更长的时间.可以用css background 引用图片. 1.1.若图像属于“内容”而不是“样式”的一部分,例如“公司介绍”页面中,一张CEO的照片,应用<img>标签 2.不要用表格布局,每次页面加载时,浏览器必须重新加载各种内容,并对之重绘.若用CSS,这些布局信息可缓存于浏览器中.禅意花园的作品,应用图片的代码只需加载一次. 3.外边距重叠(collapsing margin) 若两个元素上下毗邻且都定

移动开发之设计稿转换页面单位尺寸

在写这篇文章之前,我询问了在唯品会和腾讯的童鞋.以及公司里面前端大神(深哥),对于设计稿切图的详细方法,经过对比验证,得出设计稿转换页面单位尺寸方法步骤.我分别询问下面四个问题: 1. 设计稿的单位是什么,一般大小是什么? 2. 页面长度单位用什么,px.em.rem,还是混合,如果用rem,html的font-size是多少? 3. 设计稿转换成页面长度的方法? 4. 如果做媒体查询,合适的区间是什么? PS:他们都已设置viewport Q&A --朱姐(腾讯)回答 1. 设计稿的单位是px

信息安全系15级学生课程设计——2018.05 小组课题报告

信息安全系15级学生课程设计--2018.05 小组课题报告 课题:物联网实训·远程安防监控系统 一.设计方案及可行性分析 1.项目概述 本项目需要实现以嵌入式Web服务器为核心的视频监控系统. 摄像头采集的到的图像经过压缩后,传到内置的web服务器中.用户只需要通过浏览器就可以观看摄像头采集到的数据. 除了视频监控功能外,本项目还可以搜集空气湿度.空气温度.光照强度等信息. 2.系统架构 该项目基本可以看作B/S架构,由有三部分组成: (1)核心服务端:其实是客户端(严格意义上说,PC上的浏览

Eware.ETank2000.v1.9.0.15 1CD(地上储罐设计软件)

最全的储罐设计软件:ETank2000//Coade Tank/Intergraph TANK/AMETank储罐设计Eware.ETank2000.v1.9.0.15 1CD(地上储罐设计软件)Coade Tank v4.0 V2012(化学工业储油罐设计分析评估软件)Intergraph TANK 2014 SP1 v6.00.01-ISO 1CD化学工业储油罐设计分析评估软件 AMETank v7.7 Window 1CD 储油罐3D建模设计和分析 AMPreVA v5.3 Windows