XHTML Divisions Classes IDs CSS Fall 2010
XHTML Divisions Classes IDs CSS Fall 2010
Introduction to CSS
A CSS (cascading style sheet) file allows you to separate your web sites XHTML content from its style. As always you use your XHTML file to arrange the content, but all of the presentation elements, i.e. fonts, colors, background, borders, text formatting, link effects and the like are given their appearances using CSS. At this point we will use the CSS internally, later we will learn about using it externally. However, in this document I want to explore (at a glance) the external CSS as well.
Internal Stylesheet
First we will explore the internal method. This way you are simply placing the CSS code within the <head></head> tags of each XHTML file you want to style with the CSS. The format for this is shown in the example below. <head> <title><title> <style type=text/css> CSS Content Goes Here </style> </head> <body> With this method each XHTML file contains the CSS code needed to style the page. Meaning that any changes you want to make to one page, will have to be made to all. This method can be good if you need to style only one page, or if you want different pages to have varying styles.
Page 1
External Stylesheet
Next we will explore the external method. An external CSS file can be created with any text or HTML editor such as RJ Editor or Notepad++; both of which are free applications. A CSS file contains no XHTML, only CSS. You simply save it with the .css file extension. You can link to the file externally by placing one of the appropriate links in the head section of each XHTML file you with the CSS file, as demonstrated in the gray boxes below: <link rel=stylesheet type=text/css href=Path To stylesheet.css /> Or you can also use the @import method as shown below <style type=text/css>@import url(Path To stylesheet.css)</style> Either method is achieved by placing one of the two scripts in the <head> section as shown in the examples below. <head> <title><title> <link rel=stylesheet type=text/csshref=style.css /> </head> <body> or <head> <title><title> <style type=text/css> @import url(Path To stylesheet.css) </style> </head> <body> By using an external style sheet, all of your XHTML files are linked to one CSS file, thereby applying your preferred formatting style(s) to the pages. This means that if you need to alter the design of all of your pages within your site, you only need to edit one .css file to make global changes to your entire website. Here are a few reasons this is better.
Page 2
Cascading Order
In the previous paragraphs, I have explained how to link to a .css file either internally or externally. If you understood, then move to the next steps. If not dont fret, there is a long way to go before we are finished. Presuming you have a good grasp already, you may be asking, can I use internal and external both? The answer is yes. You can have both internal, external, and now wait a minute a third way? Yes inline styles also.
Inline Styles
I have not mentioned them until now because in a way they defeat the purpose of using CSS in the first place. Inline styles are defined right in the XHTML file alongside the element you want to style. See the example below. <p style=color: #ff0000;>Some red text</p> Some red text
Page 3
Inheritance
When you nest one element inside another, the nested element will inherit the properties assigned to the containing element. Unless you modify the inner elements values independently. For example, a font declared in the body will be inherited by all text in the file no matter the containing element, unless you declare another font for a specific nested element. body {font-family: Verdana, serif;} Now all text within the XHTML file will be set to Verdana. If you wanted to style certain text with another font, like an h1 or a paragraph then you could do the following.
Page 4
Now all <h1> tags within the file will be set to Georgia and all <p> tags are set to Tahoma, leaving text within other elements unchanged from the body declaration of Verdana. There are instances where nested elements do not inherit the containing elements properties. For example, if the body margin is set to 20 pixels, the other elements within the file will not inherit the body margin by default. body {margin: 20px;}
Combining Selectors
You can combine elements within one selector in the following fashion. h1, h2, h3, h4, h5, h6 { color: #009900; font-family: Georgia, sans-serif; } As you can see in the above code, I have grouped all the header elements into one selector; each element separated by a comma. The final result of the above code sets all headers to green and to the specified font. If the user does not have the first font I declared it will go to another sans-serif font the user has installed on their computer.
Comment tags
Comments can be used to explain why you added certain selectors within your css file. So as to help others who may see your file, or to help you remember what you were thinking at a later date. You can add comments that will be ignored by browsers in the following manner. /* This is a comment */ You may have noted that comments begin with a / (forward slash) and than an * (asterisks) then the comment, then the closing tag which is simply a reverse form of the opening tag * (asterisks) then the / (forward slash).
Page 5
Page 6
Page 7
At this point, we have covered the very basics of CSS, how the syntax works and a bit about classes and IDs. Now we are going to break from CSS and focus on the XHTML side of using it.
Divisions
Divisions are a block level XHTML element used to define sections of an XHTML file. A division can contain all the parts that make up your website; including additional divisions, spans, images, text and so on. You define a division within an XHTML file by placing the following between the <body></body> tags: <div> Site contents go here </div> Though most likely you will want to add some style to it. You can do that in the following fashion: <div id=container> Site contents go here </div> The CSS file contains this: #container{ width: 70%; margin: auto; padding: 20px; border: 1px solid #666; background: #ffffff; } Now everything within that division will be styled by the container style rule, that has been defined within the CSS file example. A division creates a line break by default. You can use both classes and IDs with a division tag to style sections of your website.
Page 8