Using Style Classes
This is a “teach yourself” book, so you don’t have to go to a single class to learn how to give your pages great style—although you do need to learn what a style class is. Whenever you want some of the text on your pages to look different from the other text, you can create what amounts to a custom-built HTML tag. Each type of specially formatted text you define is called a style class. A style class is a custom set of formatting specifications that can be applied to any element in a web page.
Before showing you a style class, I need to take a quick step back and clarify some CSS terminology. First off, a CSS style property is a specific style that you can assign a value, such as color or font-size. You associate a style property and its respective value with elements on a web page by using a selector. A selector is used to identify tags on a page to which you apply styles. Following is an example of a selector, a property, and a value all included in a basic style rule:
h1 { font: 36pt Courier; }
In this code, h1 is the selector, font is the style property, and 36pt Courier is the value. The selector is important because it means that the font setting will be applied to all h1 elements in the web page. But maybe you want to differentiate between some of the h1 elements—what then? The answer lies in style classes.
Suppose you want two different kinds of <h1> headings for use in your documents. You create a style class for each one by putting the following CSS code in a stylesheet:
h1.silly { font: 36pt Comic Sans; }
h1.serious { font: 36pt Arial; }
Notice that these selectors include a period (.) after h1, followed by a descriptive class name. To choose between the two style classes, use the class attribute, like this:
<h1
class
="silly"
>Marvin's Munchies Inc.</h1>
<p>
Text about Marvin's Munchies goes here.</p>
Or you could use this:
<h1
class
="serious"
>MMI Investor Information</h1>
<p>
Text for business investors goes here.</p>
When referencing a style class in HTML code, simply specify the class name in the class attribute of an element. In the previous example, the words Marvin's Munchies Inc. would appear in a 36-point Comic Sans font, assuming that you included a <link /> to the stylesheet at the top of the web page and that the user has the Comic Sans font installed. The words MMI Investor Information would appear in the 36-point Arial font instead. You can see another example of classes in action in Listing 3.2: look for the subheader <p> class.
What if you want to create a style class that can be applied to any element instead of just headings or some other particular tag? In your CSS, simply use a period (.) followed by any style class name you make up and any style specifications you choose. That class can specify any number of font, spacing, and margin settings all at once. Wherever you want to apply your custom tag in a page, just use an HTML tag plus the class attribute, followed by the class name you created.
For example, the stylesheet in Listing 3.1 includes the following style class specification:
p.subheader {
font-weight: bold;
color:#593d87;
}
This style class is applied in Listing 3.2 with the following tag:
<p
class
="subheader"
>
Everything between that tag and the closing </p> tag in Listing 3.2 appears in bold purple text.
What makes style classes so valuable is how they isolate style code from web pages, effectively allowing you to focus your HTML code on the actual content in a page, not how it is going to appear on the screen. Then you can focus on how the content is rendered to the screen by fine-tuning the stylesheet. You might be surprised by how a relatively small amount of code in a stylesheet can have significant effects across an entire website. This makes your pages much easier to maintain and manipulate.