|
| Topics this page: |
|
This article is like what is found in this book:
The Zen of CSS Design: Visual Enlightenment for the Web (Peachpit Press, February 17, 2005, 304 pages) by Dave Shea (of mezzoblue.com>) and Molly E. Holzschlag (of molly.com) describe the techniques used to create various submitted designs.
Mani Sheriar's Anatomy-of-a-design-process describes her agony and estasy while creating her design.
Transcending CSS: The Fine Art of Web Design (Voices That Matter) (New Riders, Nov 15, 2006) by Andy Clarke and Molly E. Holzschlag has a lot of "wasted" space, extraneous photos, and chatty text. But all that makes sense because in this book CSS is presented in the context of excellent web design. Like a conversation with an eccentric artist, there are enough gems of wisdom among the cryptic text and images that makes the exchange interesting, such as its comments on CSS3 support by Firebox 2 and IE7.
CSS Zen Garden.com is a showcase of what amazing designs can be achieved with CSS mark-up.
Hundreds of artists have submitted beautiful works of art. Each artist submits CSS and graphic files which are referenced by the same static html file with a specific set of CSS id's and classes.
I think some submitted because they want to show off their personality and skill.
Why can't I, like many people, simply hire one of those good designers to create or modify a theme for me?
Why do I want to embarass myself by putting an inferior one out there for people to laugh at?
Why am I doing this when I can be watching ... on TV or playing ...?
I'm a stupid clown, I guess.
Although many of the samples are gorgeous to look at and admire, for some reason I don't feel like I can make any of them "mine".
But this has become a hobby ... an obsession, really. I don't really know why. If you're good at psychology, can you please explain it to me?
Maybe I want to conquer CSS like mountain climbers long to be able to walk past frozen dead bodies on their way to plant their own pole at the world's tallest mountaintop. CSS (to me) is as tough as anything else I've done. Unlike a programming language, where one just has to figure out the correct incantation, CSS is evolving because the browsers are evolving. CSS has to be seduced.
In the real world, there would be more in the html:
But CSS Zen Garden is meant to be an example. So...
Here is a table, in the order that tags are in the html file.
HTML | Section | CSS | Note |
---|---|---|---|
<html | Common | html | |
<body id="css-zen-garden"> | Common | body | |
<div id="container"> | Layout | #container * html #container | |
<div id="intro"> | - | #intro | |
<div id="intro"> ... <h3> | Headings | #intro h3 { | |
<div id="pageHeader" | Header | #pageHeader | |
<h1><span>css Zen Garden | Header | #pageHeader h1 | |
<h2><span>The Beauty of ... | Header | #pageHeader h2 | |
<acronym title="Cascading Style Sheets">CSS | Common | acronymn | |
<div id="quickSummary" | Layout | #quickSummary | |
<p class="p1"><span>A demonstration of what can be ... | Text | #quickSummary p.p1 span { | |
<p class="p2"><span>lDownload the sample ... | Text | #quickSummary p.p2 span { | |
<a href= ... css file | Text | #quickSummary a, #quickSummary a:link, #quickSummary a:visited { #quickSummary a:hover { | |
<div="preamble | - | #preamble | |
<h3><span>The Road to Enlightenment | Headings | #preamble h3 { | |
<p class="p1"><span>Littering ... | Headings | #preamble p.p1 { | |
<div id="supportingText" | - | #supportingText | |
<div id="explanation" | - | #explanation | |
<div id="participation" | - | #participation | |
<div id="benefits" | - | #benefits | |
<div id="requirements" | - | #requirements | |
<div id="footer" | Layout | #footer | |
<a href= .. | - | #footer a, #footer a:link, #footer a:visited {
#footer a:hover | |
<div id="linkList" | Layout | #linkList | |
<div id="linkList2" | - | #linkList2 | |
<div id="lselect | - | #linkList #lselect { | |
<h3 class="select"><span>Select a Design: | - | - | |
<ul> | Lists | #linkList ul { | |
<li> | Lists | #linkList ul li { | |
<a href= | - | #linkList a,
#linkList a:link, #linkList a:visited { | - |
<a href= | - | #linkList a:hover {
#linkList a.c:hover { | - |
<a href= | - | #linkList #lselect a:link,
#linkList #lselect a:visited | display:block; |
<a href= | - | #linkList a.c,
#linkList a.c:link, #linkList a.c:visited { | display:inline; |
<div id="larchives" | Lists | #larchives #archive | |
<h3 class="archives"<span>Archives: | Headings | #larchives h3 { | |
<ul> | - | - | |
<li><a href=... next design »</a> | - | - | |
<li><a href=... View All Designs</a> | - | - | |
<div id="lresources" | Lists | #linkList #lresources | |
<h3 class="resources"><span>Resources: | Headings | #lresources h3 { | |
<ul> | - | - | |
<li><a href=... View This Design</a> | - | - | |
<div id="extraDiv1"><span></span></div> | - | #extraDiv1 | |
<div id="extraDiv2"><span></span></div> | - | #extraDiv2 | |
<div id="extraDiv3"><span></span></div> | - | #extraDiv3 | |
<div id="extraDiv4"><span></span></div> | - | #extraDiv4 | |
<div id="extraDiv5"><span></span></div> | - | #extraDiv5 | |
<div id="extraDiv6"><span></span></div> | - | #extraDiv6 |
Notice that the HTML mark-up does NOT fall into a common mistake:
<span class="p1"> text ... </span>
The correct HTML mark-up uses <span> tag:
<p class="p1"><span> text ... </span></p>
I (with the putrid yellow background on my website for a decade) should be the last person to criticize others' designs.
But I heard it is useful to vocalize what does and doesn't thrill me. It's like holding a new shirt in front of the mirror to see "how it looks on me".
When an image file replaces HTML text specified in a heading, this CSS is used to hide the text:
h3 { display:none; }
This is followed by:
#preamble h3 { background: transparent url(h3_preamble.jpg) no-repeat top left; }
background:url(check.gif) no-repeat left center; padding-left:18px;
The padding-left is needed to avoid having the graphic overlap the text.
I like being able to click on a heading icon which aligns that paragraph at the top of the page, for easier reading. This means a <a name=... tag for every section of the page.
Text is added using CSS code such as this:
#footer:before {
content:"Approved by the Comics Code of America. ...";
}
It is is positioned using #extraDiv1 tags such as:
#extraDiv1 { position:absolute; height:40px; width:820px; top:0; background:url(paperedge.jpg) no-repeat bottom; left:50%; margin-left:-410px; } #extraDiv2 { position:absolute; height:100px; width:820px; top:1420px; background:url(paperedge.jpg) no-repeat bottom; left:50%; margin-left:-410px; } #extraDiv3 { position:absolute; height:100px; width:820px; top:2840px; background:url(paperedge.jpg) no-repeat bottom; left:50%; margin-left:-410px; } #extraDiv4 { position:absolute; height:48px; width:820px; background:url(paperedge.jpg) no-repeat; left:50%; margin-left:-410px; margin-bottom:0px; }
I wrote down some words to describe the theme I wanted. Then I figured out aspect of the theme.
I had started on one, but didn't have time to finish it. If I were to finish it, it would be:
Here's how to begin creating your own CSS Zen Garden design.
@import "001/001.css"
@import "mine.css"
http://www.csszengarden.com/?cssfile=080/080.cssclick the "View This Design's CSS" link or change the Address URL by removing the "?cssfile=" for
http://www.csszengarden.com/080/080.css
I like the 080 example CSS for its sections (common styles, layout, header, text, headings, lists, links)
Spreading CSS over several files is useful when several people are involved. One can focus on each aspect:
Include both Mac and PC fonts on your list.
There are two approaches: one for fixed width boxes such as navigation bars and a more complex one for variable width boxes.
Before you submit a theme
|
| ||
|
| Your first name: Your family name: Your location (city, country): Your Email address: |
Top of Page
Thank you!
Human verify: |