HOME  |    TRAINING  |   FREE TUTORIALS   |   JOBS
Find out more about our new RSS feed.
FREE Tutorial
BEGINNING XHTML PART 4 - USING THE LINK ELEMENT

CATEGORY
SEARCH OUR OTHER TUTORIALS

DESCRIPTION

The second mechanism for associating style sheets with media types is to use the <link> elements media attribute, which specifies the intended destination media for the external style information.
Click here to be kept informed of our new Tutorials.


This free tutorial is a sample from the book Beginning XHTML.


This allows user agents to load and apply external style sheets based on the characteristics of the media where the document is being rendered.

For example, if you write:

<head>
 <link rel="stylesheet" type="text/css" media="print"
                    href="myprint.css"/>
 <link rel="stylesheet" type="text/css" media="screen" 
                    href="myscrn.css"/>
</head>

you are indicating that the myprint.css style sheet should be used when printing the document, and that the myscrn.css style sheet should be used when displaying the document.

At the time that this book was written, only Microsoft Internet Explorer properly supported the <link> element with media types. With Netscape Navigator, if you specify anything other than the screen media type, Navigator will ignore the entire element, and therefore ignore the entire external style sheet!

Try It Out - Using the <link> Element to Handle Different Media Types

In this exercise, we will use two external style sheets to control the display and printing.

Type the following into your text editor:

body { font-size: 18pt }
span.speaker { background-color: yellow } 
.stage { font-style: italic }
p.stage { text-align: center }

Save the file as linkscrn.css

Create a new document in your text editor and type the following:

body { font-size: 10pt }
span.speaker { font-weight: bold }
.stage { font-style: italic }
p.stage { text-align: center }

Save this file as linkprnt.css

Edit the file style1.htm and make the following changes to the <head> section:

<head>
 <title>Tempest Links</title>
 <link rel="stylesheet" type="text/css" media="print"
                    href="linkprnt.css"/>
 <link rel="stylesheet" type="text/css" media="screen" 
                    href="linkscrn.css"/>
</head>

Save the file as link.htm and run it in Microsoft Internet Explorer. You should see something like:

From within your browser, select the File | Print menu item. You should see something like:

How It Works

We simply took our two style sheets out of the document and put them into separate documents of their own. Note that the content of the style sheets wasn't changed in any way, so that what is seen on the browser and the printed page are identical to those of the last example. In the <head> of the document, we simply associate these external style sheets with the document content like so:

<head>
 <title>Tempest</title>
 <link rel="stylesheet" type="text/css" media="print" 
                    href="linkprnt.css"/>
 <link rel="stylesheet" type="text/css" media="screen" 
                    href="linkscrn.css"/>
</head>

We can see that there are two <link> elements. The first identifies the style sheet to use for the print media type and the second identifies the style sheet to use for the screen media type. The files were the style information is contained is given as the value of the href attribute.

When we looked at our document in the web browser, the style sheet corresponding to the screen media type was opened and used. When we sent our document to the printer, the style sheet corresponding to the print media type was opened and used instead.

Using the '@media' Rules

The third mechanism for associating style sheets with media types is to use the @media rules. This specifies the target media types for a set of style sheet rules. For example, if you write:

@media screen {
 h1 { font-size: 18pt }
}

@media print {
 h1 { font-size: 10pt }
}

@media screen, print {
 h1 { text-align: center }
}

...you are indicating that first level header has an 18-point font when displayed on the screen, a 10-point font when printed, and center-aligned on both media types. The third of the @media rules above points out that @media rules may apply to more than one media type. In this case, media types are separated by a comma.

Note that @media rules are applied in the order in which they are processed. In other words, if two applicable @media rules define different styles for the same element or selector, the latter @media rule will apply. For example, if we wrote:

@media print {
 h1 { font-size: 10pt }
}

@media screen, print {
 h1 { font-size: 18pt; text-align: center }
}

an 18pt font will be used when displaying on the screen and when printing. With @media rules, you can specify media-dependencies within an internal style sheet or with an external style sheet.

Continued...


NEXT PAGE



8 RELATED COURSES AVAILABLE
HTML 4.0 INTRODUCTION
To create, format and publish a small website using HTML 4.0. You will learn to create web pages incorporating fo....
MACROMEDIA DREAMWEAVER MX INTRODUCTION
To give an introduction to the Internet tools and features of Macromedia Dreamweaver MX. Readers will create an a....
MICROSOFT FRONTPAGE 2002 INTRODUCTION
This training course aims to give you the skills you need to build basic pages both for your company intranet and....
MICROSOFT FRONTPAGE 2000 INTRODUCTION
This training course aims to give you the skills you need to build basic pages both for your company intranet and....
MICROSOFT FRONTPAGE 2000 ADVANCED
To create and manage a website with Microsoft FrontPage 2000. You can use this course to prepare for MOUS Certifi....
 
0 RELATED JOBS AVAILABLE
CONTACT US
Wednesday 7th January 2009  © COPYRIGHT 2009 - VISUALSOFT