Alice with CSS
Demonstrating the Power of CSS in Modern Web Design
This page is a companion to Alice without CSS. These pages are intended to be studied together.
Both pages are identical except for this first section.
- I've set the above link to Alice without CSS to open in a new tab.
Thumbnails of both pages are shown below (before these thumbnails were added). Notice the massive difference CSS makes!
CSS Information INTACT on this Version
The CSS is INTACT on this page (otherwise it is identical following this introductory section). See the discussion for an explanation.
The discussion section on this page will be easier to read than the one on the Alice without CSS (which should be open in another tab once you've clicked the link at the top of this section).
Alice’s Adventures in Wonderland
This section of text is from Chapter IX of Alice's Adventures in Wonderland and is adapted from the Project Gutenberg version.
“You can‘t think how glad I am to see you again, you dear old thing!” said the Duchess, as she tucked her arm affectionately into Alice’s, and they walked off together.
Alice was very glad to find her in such a pleasant temper, and thought to herself that perhaps it was only the pepper that had made her so savage when they met in the kitchen.
“When I’m a Duchess,” she said to herself, (not in a very hopeful tone though), “I won’t have any pepper in my kitchen at all. Soup does very well without—Maybe it’s always pepper that makes people hot-tempered,” she went on, very much pleased at having found out a new kind of rule, “and vinegar that makes them sour—and chamomile that makes them bitter—and—and barley-sugar and such things that make children sweet-tempered. I only wish people knew that: then they wouldn't be so stingy about it, you know—”
She had quite forgotten the Duchess by this time, and was a little startled when she heard her voice close to her ear. “You’re thinking about something, my dear, and that makes you forget to talk. I can’t tell you just now what the moral of that is, but I shall remember it in a bit.”
“Perhaps it hasn’t one,” Alice ventured to remark.
“Tut, tut, child!” said the Duchess. “Everything’s got a moral, if only you can find it.” And she squeezed herself up closer to Alice’s side as she spoke.
Alice did not much like keeping so close to her: first, because the Duchess was very ugly; and secondly, because she was exactly the right height to rest her chin upon Alice’s shoulder, and it was an uncomfortably sharp chin. However, she did not like to be rude, so she bore it as well as she could.
“The game’s going on rather better now,” she said, by way of keeping up the conversation a little.
“’Tis so,” said the Duchess: “and the moral of that is—‘Oh, ’tis love, ’tis love, that makes the world go round!’”
“Somebody said,” Alice whispered, “that it’s done by everybody minding their own business!”
“Ah, well! It means much the same thing,” said the Duchess, digging her sharp little chin into Alice’s shoulder as she added, “and the moral of that is—‘Take care of the sense, and the sounds will take care of themselves.’”
“Alice with CSS” displays the same content as “Alice without CSS” but the missing CSS file won't allow the page to display properly.
This page gives you an example of the power of CSS in both the layout of a page and in the aesthetics of page colour, etc. The information is unchanged, but the presentation is clearly superior when CSS is used.
Content is Separated from Layout
CSS is used to separate the layout from the content.
Traditionally, many web designers used “invisible” tables to place sections of the page where they want. However, this method has tremendous weaknesses in two major areas: accessibility and editing content.
Because tables are laid out in the following format:
<table> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> </tr> </table>
the content makes sense if it is used to present standard tabular data, as was intended by the designers of HTML.
For example, if you were to present the following table:
|Day:||Windows Open:||Windows Closed:||Total Windows:|
The person could probably discern that the days were getting progressively warmer and/or there were more people home during the three days recorded in the table.
Tables for Layout Confusing
However, if you then "massage" the tables to represent headers, navigational areas, etc. this can be confusing because the logical flow of the data is disrupted.
Table layout won't adapt to display properly in mobile devices.
- With CSS enabled, this page will collapse into a single column and the menu will be replaced with a adapted mobile menu.
- Without CSS this page will display in a single column even if there is room to display the sidebar.
Faster Load Times
Traditional table layouts and markup need to encase the text it is modifying. This adds a great deal of weight to a page.
Because the layout has moved to an separate CSS file (shared between all the pages on the site) it doesn't need to be loaded each time you open a new page.
Editing Content Easier
Separating layout into the CSS file removes much of the HTML that would otherwise need to be present. There is much less to deal with when editing the content, making edits much easier than if the layout was encumbered with additional markup.
Making a simple change in the CSS file can create site wide changes. Since the various fonts are defined in that CSS file, you won't have to search and replace all the references to Times-New Roman if the client decides that Arial is a better font.
Presentation Enhanced by CSS
The information is unchanged, but the presentation is clearly superior when CSS is added.
The natural layout of these page elements is easier to see in Alice without CSS, but I'd rather view it with the CSS enabled. Wouldn't you?