As we’ve seen in previous sections, using CSS is straightforward. Provide a selector (”select all p elements”), provide a rule (”make their text red”), and we’re done. Both the selectors and the rules can be much more complicated, but this is the core of it.

Let’s take a look at another component of our style sheet toolbox: the “generic” elements, div and span. These elements are designed to help you mark off arbitrary chunks of HTML for styling.

The span Element

The span element is the generic inline element. Let’s see this element in action:

Example 3.11. Empty span

<p>
Towards thee I roll, thou all-destroying but
unconquering whale; <span>to the
last I grapple with thee; from hell's heart I stab
at thee; for hate's sake I spit my last breath at
thee.</span> Sink all coffins and all
hearses to one common pool! and since neither can
be mine, let me then tow to pieces, while still
chasing thee, though tied to thee, thou damned
whale! Thus, I give up the spear!
</p>

If you view the results, it looks like… the span didn’t do anything. And that’s the point: by default, the span element isn’t supposed to do anything. It serves as a placeholder or marking point for beginning and ending a style.

Let’s make a minor change. We’ll create a class for our span element and apply that class to our selection from Moby-Dick.

Example 3.12. Red span

<html>
<head>
<title>Moby-Dick</title>
<style type="text/css">
span.khan {color: #ff0000}
</style>
</head>
<body>
<p>
Towards thee I roll, thou all-destroying but
unconquering whale;
<span class="khan">to the last I
grapple with thee; from hell's heart I stab at
thee; for hate's sake I spit my last breath at thee.
</span> Sink all coffins and all
hearses to one common pool! and since neither
can be mine, let me then tow to pieces, while
still chasing thee, though tied to thee, thou
damned whale! Thus, I give up the spear!
</p>
</body>
</html>

Now we have an inline element, <span class="khan">, that can make any inline selection of HTML red.

Tip

The generic span element should probably be your last resort. It’s often better to use an em, strong, code, or other logical style, anything that has more intrinsic meaning. I’ll often even use a b or an i before using a span; at least there’s less to type that way.

The div Element

The div element is the generic block element. You can use div to apply styles to large sections of HTML, such as multiple paragraphs. Like all block elements, the div element defines a “box” of HTML.

Example 3.13. Red div

<html>
<head>
<title>Product Brochure</title>
<style type="text/css">
div.important {color: #ff0000}
</style>
</head>
<body>
<p>
Congratulations on the purchase of your sword!
Using a sword is fun and easy. Just be
sure to follow these important safety tips.
</p>
<div class="important">
<p>
<em>Never</em> hold your sword by the pointy end.
</p>
<p>
<em>Always</em> be sure to stick the pointy end
into the other guy before he does the same to you.
</p>
</div>
<p>
And remember, if you or your surviving kinsfolk are
not fully satisfied, we have a money-back guarantee!
</body>
</html>

The div element applies the style to the second and third paragraphs. Note that even though the div element is a “block” element, it does not create extra line breaks between paragraphs 1 and 2 or paragraphs 3 and 4. However, if we had tried to insert the div inside one of the paragraphs, we would have created a new text block. (Try it.)

See Also