在本教程的第2章中,我们介绍了一些“CSS禅意花园”的精美作品。在那时,读者还刚剐开始了解CSS,无法深入进行介绍和实践。
而现在,读者已经经过了十几章CSS和HTML案例的磨练,相信在这个过程中既感受到了思考的辛苦,也感受到了成功的喜悦。
在本章中,就结合前面所有章节介绍的技术,利用CSS禅意花园的网页和作品,进行一些综合的练习。
在本章中,介绍禅意花园的侧重点与《the Zen of CSS design》一书的区别在于,本书将更重视一个方案是如何做出来的,使读者更容易地理解其结构。在学习完本书后,还可以花一些时间,结合自己的创意,做出更多的禅意花园作品。如果读者制作出了令自己满意的作品,欢迎读者发给网页学习网,共享读者收获的心得。
首先介绍一下Dave Shea设计的这个HTML文档,因为所有CSS都是基于这同一个HTML文档的。该文件位于本书光盘“第15章/no-css.htm”。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="Dave Shea" />
<meta name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display" />
<meta name="description" content="A demonstration of what can be accomplished visually through CSS-based design." />
<meta name="robots" content="all" />
<title>css Zen Garden: The Beauty in CSS Design</title>
<!-- to correct the unsightly Flash of Unstyled Content. http://www.bluerobot.com/web/css/fouc.asp -->
<script type="text/javascript"></script>
<style type="text/css" title="currentStyle" media="screen">
@import "9999.css";
</style>
<link rel="Shortcut Icon" type="image/x-icon" href="favicon.ico" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="zengarden.xml" />
</head>
<!--
This xhtml document is marked up to provide the designer with the maximum possible flexibility.
There are more classes and extraneous tags than needed, and in a real world situation, it‘s more
likely that it would be much leaner.
However, I think we can all agree that even given that, we‘re still better off than if this had been
built with tables.
-->
<body id="css-zen-garden">
<div id="container">
<div id="intro">
<div id="pageHeader">
<h1><span>css Zen Garden</span></h1>
<h2><span>The Beauty of <acronym title="Cascading Style Sheets">CSS</acronym> Design</span></h2>
</div>
<div id="quickSummary">
<p class="p1"><span>A demonstration of what can be accomplished visually through <acronym title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p>
<p class="p2"><span>Download the sample <a href="zengarden-sample.html" title="This page‘s source HTML code, not to be modified.">html file</a> and <a href="zengarden-sample.css" title="This page‘s sample CSS, the file you may modify.">css file</a></span></p>
</div>
<div id="preamble">
<h3><span>The Road to Enlightenment</span></h3>
<p class="p1"><span>Littering a dark and dreary road lay the past relics of browser-specific tags, incompatible <acronym title="Document Object Model">DOM</acronym>s, and broken <acronym title="Cascading Style Sheets">CSS</acronym> support.</span></p>
<p class="p2"><span>Today, we must clear the mind of past practices. Web enlightenment has been achieved thanks to the tireless efforts of folk like the <acronym title="World Wide Web Consortium">W3C</acronym>, <acronym title="Web Standards Project">WaSP</acronym> and the major browser creators.</span></p>
<p class="p3"><span>The css Zen Garden invites you to relax and meditate on the important lessons of the masters. Begin to see with clarity. Learn to use the (yet to be) time-honored techniques in new and invigorating fashion. Become one with the web.</span></p>
</div>
</div>
<div id="supportingText">
<div id="explanation">
<h3><span>So What is This About?</span></h3>
<p class="p1"><span>There is clearly a need for <acronym title="Cascading Style Sheets">CSS</acronym> to be taken seriously by graphic artists. The Zen Garden aims to excite, inspire, and encourage participation. To begin, view some of the existing designs in the list. Clicking on any one will load the style sheet into this very page. The code remains the same, the only thing that has changed is the external .css file. Yes, really.</span></p>
<p class="p2"><span><acronym title="Cascading Style Sheets">CSS</acronym> allows complete and total control over the style of a hypertext document. The only way this can be illustrated in a way that gets people excited is by demonstrating what it can truly be, once the reins are placed in the hands of those able to create beauty from structure. To date, most examples of neat tricks and hacks have been demonstrated by structurists and coders. Designers have yet to make their mark. This needs to change.</span></p>
</div>
<div id="participation">
<h3><span>Participation</span></h3>
<p class="p1"><span>Graphic artists only please. You are modifying this page, so strong <acronym title="Cascading Style Sheets">CSS</acronym> skills are necessary, but the example files are commented well enough that even <acronym title="Cascading Style Sheets">CSS</acronym> novices can use them as starting points. Please see the <a href="../www.mezzoblue.com/zengarden/resources/default.htm" title="A listing of CSS-related resources"><acronym title="Cascading Style Sheets">CSS</acronym> Resource Guide</a> for advanced tutorials and tips on working with <acronym title="Cascading Style Sheets">CSS</acronym>.</span></p>
<p class="p2"><span>You may modify the style sheet in any way you wish, but not the <acronym title="HyperText Markup Language">HTML</acronym>. This may seem daunting at first if you’ve never worked this way before, but follow the listed links to learn more, and use the sample files as a guide.</span></p>
<p class="p3"><span>Download the sample <a href="zengarden-sample.html" title="This page‘s source HTML code, not to be modified.">html file</a> and <a href="zengarden-sample.css" title="This page‘s sample CSS, the file you may modify.">css file</a> to work on a copy locally. Once you have completed your masterpiece (and please, don’t submit half-finished work) upload your .css file to a web server under your control. <a href="../www.mezzoblue.com/zengarden/submit/default.htm" title="Use the contact form to send us your CSS file">Send us a link</a> to the file and if we choose to use it, we will spider the associated images. Final submissions will be placed on our server.</span></p>
</div>
<div id="benefits">
<h3><span>Benefits</span></h3>
<p class="p1"><span>Why participate? For recognition, inspiration, and a resource we can all refer to when making the case for <acronym title="Cascading Style Sheets">CSS</acronym>-based design. This is sorely needed, even today. More and more major sites are taking the leap, but not enough have. One day this gallery will be a historical curiosity; that day is not today.</span></p>
</div>
<div id="requirements">
<h3><span>Requirements</span></h3>
<p class="p1"><span>We would like to see as much <acronym title="Cascading Style Sheets, version 1">CSS1</acronym> as possible. <acronym title="Cascading Style Sheets, version 2">CSS2</acronym> should be limited to widely-supported elements only. The css Zen Garden is about functional, practical <acronym title="Cascading Style Sheets">CSS</acronym> and not the latest bleeding-edge tricks viewable by 2% of the browsing public. The only real requirement we have is that your <acronym title="Cascading Style Sheets">CSS</acronym> validates.</span></p>
<p class="p2"><span>Unfortunately, designing this way highlights the flaws in the various implementations of <acronym title="Cascading Style Sheets">CSS</acronym>. Different browsers display differently, even completely valid <acronym title="Cascading Style Sheets">CSS</acronym> at times, and this becomes maddening when a fix for one leads to breakage in another. View the <a href="../www.mezzoblue.com/zengarden/resources/default.htm" title="A listing of CSS-related resources">Resources</a> page for information on some of the fixes available. Full browser compliance is still sometimes a pipe dream, and we do not expect you to come up with pixel-perfect code across every platform. But do test in as many as you can. If your design doesn’t work in at least IE5+/Win and Mozilla (run by over 90% of the population), chances are we won’t accept it.</span></p>
<p class="p3"><span>We ask that you submit original artwork. Please respect copyright laws. Please keep objectionable material to a minimum; tasteful nudity is acceptable, outright pornography will be rejected.</span></p>
<p class="p4"><span>This is a learning exercise as well as a demonstration. You retain full copyright on your graphics (with limited exceptions, see <a href="../www.mezzoblue.com/zengarden/submit/guidelines/default.htm">submission guidelines</a>), but we ask you release your <acronym title="Cascading Style Sheets">CSS</acronym> under a Creative Commons license identical to the <a href="../creativecommons.org/licenses/by-nc-sa/1.0/default.htm" title="View the Zen Garden‘s license information.">one on this site</a> so that others may learn from your work.</span></p>
<p class="p5"><span>Bandwidth graciously donated by <a href="../www.dreamfirestudios.com/default.htm">DreamFire Studios</a>. Now available: <a href="../www.amazon.com/exec/obidos/asin/0321303474/mezzoblue-20/default.htm">Zen Garden, the book</a>.</span> </p>
</div>
<div id="footer">
<a href="../validator.w3.org/check/referer" title="Check the validity of this site’s XHTML">xhtml</a>
<a href="../jigsaw.w3.org/css-validator/check/referer" title="Check the validity of this site’s CSS">css</a>
<a href="../creativecommons.org/licenses/by-nc-sa/1.0/default.htm" title="View details of the license of this site, courtesy of Creative Commons.">cc</a>
<a href="../www.contentquality.com/mynewtester/cynthia.exe@url1=http_3a_252f_252fcsszengarden.com_252f" title="Check the accessibility of this site according to U.S. Section 508">508</a>
<a href="../mezzoblue.com/zengarden/faq/#aaa" title="Check the accessibility of this site according to Web Content Accessibility Guidelines 1.0">aaa</a>
</div>
</div>
<div id="linkList">
<div id="linkList2">
<div id="lselect">
<h3 class="select"><span>Select a Design:</span></h3>
<ul>
<li><a href="@cssfile=_2f202_2f202.css&page=0.htm" title="AccessKey: a" accesskey="a">Retro Theater</a> by <a href="../space-sheeps.info/default.htm" class="c">Eric Rogé</a></li>
<li><a href="@cssfile=_2f201_2f201.css&page=0.htm" title="AccessKey: b" accesskey="b">Lily Pond</a> by <a href="../www.tulips4rose.com/default.htm" class="c">Rose Thorogood</a></li>
<li><a href="@cssfile=_2f200_2f200.css&page=0.htm" title="AccessKey: c" accesskey="c">Icicle Outback</a> by <a href="../www.timovirtanen.com/default.htm" class="c">Timo Virtanen</a></li>
<li><a href="@cssfile=_2f199_2f199.css&page=0.htm" title="AccessKey: d" accesskey="d">Zen Army</a> by <a href="../www.niceguy.com/default.htm" class="c">Carl Desmond</a></li>
<li><a href="@cssfile=_2f198_2f198.css&page=0.htm" title="AccessKey: e" accesskey="e">The Original</a> by <a href="../www.bluejam.com/default.htm" class="c">Joachim Shotter</a></li>
<li><a href="@cssfile=_2f197_2f197.css&page=0.htm" title="AccessKey: f" accesskey="f">Floral Touch</a> by <a href="../www.jahmasta.com/default.htm" class="c">Jadas Jimmy</a></li>
<li><a href="@cssfile=_2f196_2f196.css&page=0.htm" title="AccessKey: g" accesskey="g">Elegance in Simplicity</a> by <a href="../www.manisheriar.com/blog/default.htm" class="c">Mani Sheriar</a></li>
<li><a href="@cssfile=_2f195_2f195.css&page=0.htm" title="AccessKey: h" accesskey="h">Dazzling Beauty</a> by <a href="../blog.denysri.com/default.htm" class="c">Deny Sri Supriyono</a></li>
</ul>
</div>
<div id="larchives">
<h3 class="archives"><span>Archives:</span></h3>
<ul>
<li><a href="@cssfile=_2f175_2f175.css&page=1.htm" title="View next set of designs. AccessKey: n" accesskey="n"><span class="accesskey">n</span>ext designs »</a></li>
<li><a href="../www.mezzoblue.com/zengarden/alldesigns/default.htm" title="View every submission to the Zen Garden. AccessKey: w" accesskey="w">Vie<span class="accesskey">w</span> All Designs</a></li>
</ul>
</div>
<div id="lresources">
<h3 class="resources"><span>Resources:</span></h3>
<ul>
<li><a href="175/175.css" title="View the source CSS file for the currently-viewed design, AccessKey: v" accesskey="v"><span class="accesskey">V</span>iew This Design’s <acronym title="Cascading Style Sheets">CSS</acronym></a></li> <li><a href="../www.mezzoblue.com/zengarden/resources/default.htm" title="Links to great sites with information on using CSS. AccessKey: r" accesskey="r"><acronym title="Cascading Style Sheets">CSS</acronym> <span class="accesskey">R</span>esources</a></li>
<li><a href="../www.mezzoblue.com/zengarden/faq/default.htm" title="A list of Frequently Asked Questions about the Zen Garden. AccessKey: q" accesskey="q"><acronym title="Frequently Asked Questions">FA<span class="accesskey">Q</span></acronym></a></li>
<li><a href="../www.mezzoblue.com/zengarden/submit/default.htm" title="Send in your own CSS file. AccessKey: s" accesskey="s"><span class="accesskey">S</span>ubmit a Design</a></li>
<li><a href="../www.mezzoblue.com/zengarden/translations/default.htm" title="View translated versions of this page. AccessKey: t" accesskey="t"><span class="accesskey">T</span>ranslations</a></li>
</ul>
</div>
</div>
</div>
</div>
<!-- These extra divs/spans may be used as catch-alls to add extra imagery. -->
<div id="extraDiv1"><span></span></div><div id="extraDiv2"><span></span></div><div id="extraDiv3"><span></span></div>
<div id="extraDiv4"><span></span></div><div id="extraDiv5"><span></span></div><div id="extraDiv6"><span></span></div>
</body>
</html>
提示:您可以先修改部分代码再运行
在不使用任何CSS时显示效果请读者观察一下。
读者只要知道这个页面中的内容分为3个部分,这3个部分的id分别为“intro”、“supportingText”和“Iinklist”,
它们都放置在一个id为“container”的div中。每一个部分又分为若干个div,每个div都有各自的id,以便使用CSS设置它们的样式。
如果仔细读一下HTML代码,就会发现它和一般的网页HTML代码有一定的区别。例如下面摘录的一小段代码:lodidance.com
折叠展开XML/HTML 代码复制内容到剪贴板
- <div id="preamble">
- <h3><span>The Road to Enlightenment</span></h3>
- <p class="p1"><span>Littering a dark and dreary road lay the past relics of browser-specific tags, incompatible <acronym title="Document Object Model">DOM</acronym>s, and broken <acronym title="Cascading Style Sheets">CSS</acronym> support.</span></p>
- <p class="p2"><span>Today, we must clear the mind of past practices. Web enlightenment has been achieved thanks to the tireless efforts of folk like the <acronym title="World Wide Web Consortium">W3C</acronym>, <acronym title="Web Standards Project">WaSP</acronym> and the major browser creators.</span></p>
- <p class="p3"><span>The css Zen Garden invites you to relax and meditate on the important lessons of the masters. Begin to see with clarity. Learn to use the (yet to be) time-honored techniques in new and invigorating fashion. Become one with the web.</span></p>
- </div>
- </div>
在每一个具体放置文字内容的div中,例如“preamble”div中,为每个文字段落都设置了id,目的是使设计师有足够的空制能力,
可以灵活地单独控制任何一个段落盒的样式。此外每一个段落和标题中都套有一对<span>和</span>标记,
这样设计师可以灵活地做出很多效果,例如可以通过这种方式使用滑动门技术,或者使用图像来替代文字内容,等等。
在实际制作一个网站的时候,当然不用这样繁琐地加入这么多标记,这里增加了这些标记
,是为了实现完全不改动HTML而产生各种效果的目的,希望读者理解其中的道理。
最后,为了便于英语不是很好的读者学习,这里简单介绍一下这些id的中文含义,如下表所示。
具体每一个段落中的英文含义就不必搞懂它了。
英文 |
中文 |
英文 |
中文 |
container |
容器 |
intro |
介绍 |
pageHeader |
页头 |
quickSummary |
概述 |
preamble |
导言 |
supportingText |
释义 |
participation |
参与 |
benefits |
收获 |
requirements |
要求 |
footer |
页脚 |
linklist |
链接列表 |
select |
选择 |
larchives |
存档 |
fresources |
资源 |
extraDiv |
附加DIV |
现在请读者在网页编辑软件中,打开这个HTML文档。浏览一遍代码,找到上面介绍的各个代码段对应的位置,尽快熟悉这个网页,包括它的各个组成部分。
最后说明的是,在文档的末尾还有6个空的div.这几个div是留给设计师在一些特殊情况下使用的,绝大多数作晶里没有用到这些附加的div。
|