Showing posts with label css tutorials. Show all posts
Showing posts with label css tutorials. Show all posts

Ten important things to know about CSS

1. CSS font shortcut rules

When styling fonts with CSS you may be doing this:

font-size: 1em;
line-height: 1.5em;
font-weight: bold;
font-style: italic;
font-variant: small-caps;
font-family: verdana,serif;


There's no need though as you can use this CSS shorthand property:
font: 1em/1.5em bold italic small-caps verdana,serif Much better! Just a couple of words of warning: This CSS shorthand version will only work if you're specifying both the font-size and the font-family. Also, if you don't specify the font-weight, font-style, or font-varient then these values will automatically default to a value of normal, so do bear this in mind too.

2. Two classes together

Usually attributes are assigned just one class, but this doesn't mean that that's all you're allowed. In reality, you can assign as many classes as you like! For example:

...

Using these two classes together (separated by a space, not with a comma) means that the paragraph calls up the rules assigned to both text and side. If any rules overlap between the two classes then the class which is below the other in the CSS document will take precedence.

3. CSS border default value

When writing a border rule you'll usually specify the colour, width and style (in any order). For example, border: 3px solid #000 will give you a black solid border, 3px thick. However the only required value here is the border style.
If you were to write just border: solid then the defaults for that border will be used. But what defaults? Well, the default width for a border is medium (equivalent to about 3 to 4px) and the default colour is that of the text colour within that border. If either of these are what you want for the border then you can leave them out of the CSS rule!

4. !important ignored by IE

Normally in CSS whichever rule is specified last takes precedence. However if you use !important after a command then this CSS command will take precedence regardless of what appears after it. This is true for all browsers except IE. An example of this would be:

margin-top: 3.5em !important; margin-top: 2em

So, the top margin will be set to 3.5em for all browsers except IE, which will have a top margin of 2em. This can sometimes come in useful, especially when using relative margins (such as in this example) as these can display slightly differently between IE and other browsers.
(Many of you may also be aware of the CSS child selector, the contents of which IE ignores.)

5. Image replacement technique

It's always advisable to use regular HTML markup to display text, as opposed to an image. Doing so allows for a faster download speed and has accessibility benefits. However, if you've absolutely got your heart set on using a certain font and your site visitors are unlikely to have that font on their computers, then really you've got no choice but to use an image.

Say for example, you wanted the top heading of each page to be ‘Buy widgets’, as you're a widget seller and you'd like to be found for this phrase in the search engines. You're pretty set on it being an obscure font so you need to use an image:

Buy widgets



This is OK but there's strong evidence to suggest that search engines don't assign as much importance to alt text as they do real text (because so many webmasters use the alt text to cram in keywords). So, an alternative would be:

Buy widgets



Now, this obviously won't use your obscure font. To fix this problem place these commands in your CSS document:

h1
{
background: url(widget-image.gif) no-repeat;
}

h1 span
{
position: absolute;
left:-2000px;
}


The image, with your fancy font, will now display and the regular text will be safely out of the way, positioned 2000px to the left of the screen thanks to our CSS rule.

6. CSS box model hack alternative

The box model hack is used to fix a rendering problem in pre-IE 6 browsers, where by the border and padding are included in the width of an element, as opposed to added on. For example, when specifying the dimensions of a container you might use the following CSS rule:

#box
{
width: 100px;
border: 5px;
padding: 20px;
}

This CSS rule would be applied to:

...


This means that the total width of the box is 150px (100px width + two 5px borders + two 20px paddings) in all browsers except pre-IE 6 versions. In these browsers the total width would be just 100px, with the padding and border widths being incorporated into this width. The box model hack can be used to fix this, but this can get really messy.

A simple alternative is to use this CSS:

#box
{
width: 150px;
}

#box div
{
border: 5px;
padding: 20px;
}


And the new HTML would be:

...


Perfect! Now the box width will always be 150px, regardless of the browser

7. Centre aligning a block element

Say you wanted to have a fixed width layout website, and the content floated in the middle of the screen. You can use the following CSS command:

#content
{
width: 700px;
margin: 0 auto;
}


You would then enclose
around every item in the body of the HTML document and it'll be given an automatic margin on both its left and right, ensuring that it's always placed in the centre of the screen. Simple... well not quite - we've still got the pre-IE 6 versions to worry about, as these browsers won't centre align the element with this CSS command. You'll have to change the CSS rules:

body
{
text-align: center;
}

#content
{
text-align: left;
width: 700px;
margin: 0 auto;
}


This will then centre align the main content, but it'll also centre align the text! To offset the second, probably undesired, effect we inserted text-align: left into the content div.

8. Vertically aligning with CSS

Vertically aligning with tables was a doddle. To make cell content line up in the middle of a cell you would use vertical-align: middle. This doesn't really work with a CSS layout. Say you have a navigation menu item whose height is assigned 2em and you insert this vertical align command into the CSS rule. It basically won't make a difference and the text will be pushed to the top of the box.

Hmmm... not the desired effect. The solution? Specify the line height to be the same as the height of the box itself in the CSS. In this instance, the box is 2em high, so we would insert line-height: 2em into the CSS rule and the text now floats in the middle of the box - perfect!

9. CSS positioning within a container

One of the best things about CSS is that you can position an object absolutely anywhere you want in the document. It's also possible (and often desirable) to position objects within a container. It's simple to do too. Simply assign the following CSS

#container
{
position: relative;
}


Now any element within this container will be positioned relative to it. Say you had this HTML structure:



To position the navigation exactly 30px from the left and 5px from the top of the container box, you could use these CSS commands:

#navigation
{
position: absolute;
left: 30px;
top: 5px;
}


Perfect! In this particular example, you could of course also use margin: 5px 0 0 30px, but there are some cases where it's preferable to use positioning.

10. Background colour running to the screen bottom

One of the disadvantages of CSS is its inability to be controlled vertically, causing one particular problem which a table layout doesn't suffer from. Say you have a column running down the left side of the page, which contains site navigation. The page has a white background, but you want this left column to have a blue background. Simple, you assign it the appropriate CSS rule:

#navigation
{
background: blue;
width: 150px;
}


Just one problem though: Because the navigation items don't continue all the way to the bottom of the screen, neither does the background colour. The blue background colour is being cut off half way down the page, ruining your great design. What can you do!?

Unfortunately the only solution to this is to cheat, and assign the body a background image of exactly the same colour and width as the left column. You would use this CSS command:

body
{
background: url(blue-image.gif) 0 0 repeat-y;
}


This image that you place in the background should be exactly 150px wide and the same blue colour as the background of the left column. The disadvantage of using this method is that you can't express the left column in terms of em, as if the user resizes text and the column expands, it's background colour won't.

At the time of writing though, this is the only solution to this particular problem so the left column will have to be expressed in px if you want it to have a different background colour to the rest of the page.

source:evolt.org

Dynamic effects in CSS2

Outlines

Outlines are very similar to borders, except they do not influence box model calculations (and thus cannot cause reflow) and therefore are ideal for scripting or other dynamic purposes.

Outlines are drawn over a box just outside the border edge so that the outline is always on top and doesn't influence box positioning. They may overlap with other elements.

If an element is broken across several lines, the outline is the minimum outline that encloses all the element's boxes. For example:

+----------------------+
|Some text on one line.+--+
|And some more on another.|
+-------------------------+


In contrast to borders, the outline is not open at inline box's end or start, but is always fully connected, and thus outlines may be non-rectangular.

Outlines are especially useful combined with the :focus and :active pseudo-classes.

Outlines are not inherited and apply to all elements.

Outline-color

This takes any valid color or invert (initial value - invert colors of pixels to ensure that the outline is visible). For example, outline-color: red.

Invert means simply reverse color values - if a pixel was #000, it would be inverted to #fff. Equally, if a pixel was #369, it would be inverted to #C96 (since a red component of 33 plus CC = FF, the maximum value of red; equally 99 + 66 = FF).

Outline-width

This takes any valid value for border-width (a length, thin, thick or medium), and is initially medium. Outline widths are the same on all sides. For example, outline-width: thick.

Outline-style

It takes any valid value for border-style except hidden (i.e., double, solid, groove, ridge, inset, outset, dotted, dashed, none), and is initially set to none. For example, outline-style: solid.

Outline

This shorthand allows one or more of the above to specified in that order. For example, A:focus {outline: thin red dashed}.

Note that, as with borders, outlines are not drawn unless the outline style is set to a value other than normal. For example, outline-style: medium; outline: thin red has no effect because shorthands set the unspecified properties to their initial value and therefore outline: thin red means outline: thin none red.

Cursor

This specifies the cursor that should be associated with the element.

You can specify a custom cursor, or a generic cursor. Custom cursors are specified by cursor: url(filename) (e.g., cursor: url(arrow.csr). However, you currently won't find any browser that supports this. When they do, because different platforms support different cursor formats (for example, Windows has native support for cursors in '.cur' and '.ani' formats), you can specify multiple cursors. This is done by separating each cursor by a comma. Thus to say that you should use arrow.ani (animated cursor) if possible, but failing that arrow.cur (static cursor), you should specify cursor: url(arrow.ani), url(arrow.cur). Finally you should specify a generic cursor. To specify a generic cursor you use one of the following values:

1. auto (initial value - indicating the value that the browser thinks is appropriate for that element)
2. crosshair
3. default (usually an arrow)
4. pointer (cursor indicates that the item is a link)
5. move (cursor for moving an object)
6. text (indicates that text can be selected)
7. wait (usually an hourglass)
8. help (usually a ?)
9. e-resize (cursor for resizing from the box's east corner),
10. ne-resize
11. n-resize
12. s-resize
13. se-resize
14. w-resize
15. sw-resize.
For example, P {cursor: url(cursor1.cur), url(cursor2.csr), url(cursor3.ani), pointer}.
Or simply P {cursor: pointer}.

Visibility

This can be set to visible (render the element normally) or hidden (transparent).

Its use is to hide content that is later shown by scripts - it avoids the need for reflow. For example, if a script sets an element to be visible, all pixels that were previously transparent are colored according to the element's outline-color, color, background-color and border-color declarations.

An invisible element takes up the normal amount of space, but is invisible. E.g., P {visibility: hidden}.

Visibility is inherited and is initially visible. As a result, you can specify visibility: visible to override an inherited visibiltiy: hidden. This contrasts with display: none, which cannot be overridden by descendant elements.

Block effects

Z-index

Since elements may overlap, z-index provides for the stacking order. It can be specified as an integer, or as auto (initial value). It applies only to positioned elements and is not inherited. A higher z-index means that an element goes further to the front.

There are two concepts:

1. The stacking context that a box is in

2. The stacking level for that element

Stacking contexts are stacked as a unit according to the z-index of the context.

Within a stacking context, elements are stacked in markup order.

A new stacking context is established by z-index != auto. The stacking context includes the elements and all its z-index: auto descendants.

For example, given:














the z-index: 5 places both itself and the P above the z-index 4. Note that for non-positioned elements, z-index is treated as auto.

Overflow

The overflow property specifies whether content that overflows the clipping region of a containing block should be rendered or not. By default, the clipping region of a containing block is simply the size of the containing block, but the 'clip' property can make this smaller or larger.

The overflow property determines what happens in the event of overflow of the containing block. For example, given:





Some content



In this example, the overflow property would specify what would happen the 10 pixels of the P element that overflow the left of the DIV.

Overflow is not inherited and applies to block boxes (such as floats, images, elements such as P or DIV, etc.).

Possible values are:

1. scroll (the content that overflows the clipping region should be viewed by using scroll bars, which should be present all of the time, even if they aren't required)

2. visible (the element's content can be rendered outside the clippin region - initial value)

3. hidden (content falling outside the clipping region is not rendered)

4. auto (browser determined, but usually that content that overflows the clipping region is viewed using scrollbars, but that, unlike scroll, those scrollbars are not always present)

Clip

This specifies that the clipping region of an element should be made smaller or larger than usual; e.g., P {clip: rect(5cm, 4px, 10px, 12px)}. The values refer to the offset of a side from the respective sides of the element's box in the order top, right, bottom, left. For example:

+--------------+
| |
| |
| |
| |
| |
| |
| |
+--------------+


If you specified an offset for 'bottom' of 10 pixels, that would mean that the bottom edge of the clipping region would be 10 pixels above the bottom edge of the containing block; if you specified an offset for 'top' of 10 pixels, that would similarly mean that the top edge of the clipping region would be 10 pixels below the top edge of the containing block.

Negative lengths are permissible, but percentages are not. Also valid is auto (initial value), which is equivalent to specifying rect(0,0,0,0). e.g., clip: auto. It is not inherited and applies to block and replaced elements. Content that does not fall within the clipping region is handled according to the value of the overflow property.

source: richinstyle.com

CSS box properties

Each HTML element is assumed to be in a box.

All HTML elements can have box model properties applied to them. Box model properties do not inherit.

There are three properties here: margin, border and padding; these apply to any element. In addition, the width and height of the element are also important.

As to the difference between margin and padding, margin is the space outside the element, and padding that inside it. Thus the padding color is the background-color of the element, whereas the margin color is the background-color of the parent element (except where the element doesn't have a parent, as with BODY or HTML).

Note that although box properties do not inherit, a margin applied to the BODY will affect all elements inside it, since they are all still inside BODY. If they inherited, then if the BODY had a 2-inch left margin, P would start four inches from the left of the page, etc.

The containing block

All element have a containing block. Elements are usually aligned with the edge of their containing block. In addition to providing a reference point for alignment, the width and height of the containing block is also used for interpreting the value of % on box model properties.

The containing block of normal static (static as opposed to positioned) elements is their nearest block-level ancestor. For example, in BODY

, the containing block of the P element is BODY, and therefore margins, etc., on P will refer to the width of that.

An element that has display: block generates a block box. This defines the containing block for descendant elements. Note that content can go outside the principal block box; for example, when content overflows its block, or list item markers, which are placed in the margin of the box.

Bugs

All browsers have some problems with box properties. If all you want to do is give the BODY a left, right and bottom margin you will be OK. Beyond this, you may have problems, the most notable of which I detail below.

IE 3.00 interprets all margins as relative to the left of the page rather than the left of the element. This means negative horizontal margins will obscure content, and as a rule of thumb, left margins should only be set on BODY.

Netscape 4.* does not support border-top, border-left, etc., so use border-(top/left/right/bottom)-width, border-width or border, etc.

Box shorthands

The box shorthand property allow you to specify the box style for all four sides at once.

If one number is supplied in a shorthand, it is applied to all four sides; if two numbers, the first number to the top and bottom sides, and the second to the right and left; if three numbers, the first number to the top side, the second to the right and left sides, and the third to the bottom side; if four numbers, to the top, right, bottom, and left sides in that order.

Thus by these rules P {margin: 10px 5px} is applied as a 10 pixel vertical and 5 pixel horizontal margin.

Margin

Clearly each element can have four margins - left, right, bottom and top.

These are defined by the margin-left, margin-right, margin-top, margin-bottom properties.

The margin can be specified in any length, a percentage, or using the auto keyword. The percentage refers to the width of the containing block, regardless of whether it is applied to the left and right or top and bottom margins.

Auto is principally useful in more advanced contexts, and is discussed later.

In addition, the margins can be specified for all four sides at once with the margin shorthand. Margins can be negative, and initially margins are 0.

It is important to note that in CSS, margins collapse vertically (except where one or more of the margins is a floating margin). This means that where two margins adjoin vertically, the margin is not equal to the combined total of the two margins, but rather to the larger of the two (except where both margins are negative, in which case the combined margin is equal to the most negative of the two margins; and where one margin is negative and the other positive, the combined margin is equal to the two margins added together). However, margins between floated or positioned elements and any other element do not collapse.

Margin examples

P {margin-left: 2in}

This would give P a left margin of 2 inches.

P {margin: 1em}

This would make all four of P's margins 1 em wide.

P {margin: 1px 2in 3cm 4pt}

This would give P a top margin of one pixel, a right margin of 2 inches, a bottom margin of 3 cm and a left margin of 4 points.

P {margin-top: 1in;
margin-bottom: .5in}


Some text



Some more text



The combined margin here would be 1 inch because of margin collapsing.

Padding

Padding differs from margins insofar as padding does not collapse. In addition, although it is usually impossible to distinguish between padding and margin on the screen, padding is of crucial importance when an element has a rendered border, such as in a table or box, or where the element has a different background color from its parent.

As before, padding-left, padding-right, padding-top, padding-bottom or the padding shortcut can all be specified. If a percentage is specified, it relates to the width of the containing block.

Padding cannot be negative, and initially padding is 0, although browsers' built-in style sheets may increase this for certain elements.

Border

The relevant details here are the width, color and style of the border.

The border width is specified with border-bottom-width, border-top-width, border-left-width, border-right-width, or the border-width shorthand, which allows specification of 1-4 widths, applied according to the rules stated under Box shorthands.

It should be noted that percentages cannot be specified and nor can negative lengths, and that width can be alternatively (rather than as a length) be specified as thin, thick or medium, where medium is the initial value.

For example: P {border-width: 10px}.

To make the border visible, one must specify a border style.

Border styles are specified using border-left-style, border-right-style, border-bottom-style, border-top-style and border-style. Valid border styles are none, hidden (same as none except on tables), dotted, dashed, solid, double (two lines), groove (the border appears to be carved into the screen), ridge (the border appears to be coming out of the screen), inset (the entire box appears to be carved into the screen), or outset (the entire box appears to be coming out of the screen).

Initially the border-style is set to none, so if you fail to override this, no border will be drawn.

You can specify up to four border styles, which are applied according to the rules stated above under Box Shorthands.

For example: P {border-style: solid}.

Note that if border-style: none (i.e., if border-style: none is not specifically overridden), this overrides any specified border-width, and makes them 0.

You can also specify a color with border-left-color, border-right-color, border-top-color, border-bottom-color or border-color. You can specify up to four colors, which are applied according to the rules stated above under Box Shorthands or transparent. Initially the border color is set to the element's color.

For example: P {border-color: red}.

You can set the border style, color and width simultaneously with the border-left, border-right, border-bottom, border-top or border shorthands. It should be noted that only one of each can be specified - if you use the border shortcut, you are giving each side the same width of border, the same color and the same style.

BODY {border-left: thick} /* Since border style has not been specified, this would result in no border. */

source: richinstyle.com

Tips to convert layers into tables

Instead of using tables or Layout mode to create your layout, some web designers prefer to work with layers. Dreamweaver enables you to create your layout using layers, then (if you want) convert them into tables. For example, you might need to convert your layers to tables if you need to support browsers before version 4.0.

NOTE: You can’t convert layers to tables or tables to layers in a template document or in a document to which a template has been applied. Instead, create your layout in a non-template document and convert it before saving it as a template.

You can convert back and forth between layers and tables to adjust the layout and optimize page design. You cannot convert a specific table or layer on a page; you must convert layers to tables and tables to layers for an entire page.

NOTE: Converting from layers to tables may result in tables with a large number of empty cells.

Preventing layer overlaps

Because table cells cannot overlap, Dreamweaver cannot create a table from overlapping layers. If you plan to convert the layers in a document to tables, use the Prevent Overlap option to constrain layer movement and positioning so that layers don’t overlap.

When this option is on, a layer can’t be created in front of, moved or resized over, or nested within an existing layer. If you activate this option after creating overlapping layers, drag each overlapping layer to move it away from other layers. Dreamweaver does not automatically fix existing overlapping layers in the page when you enable Prevent Layer Overlaps.

When this option and snapping are enabled, a layer won’t snap to the grid if it would cause two layers to overlap. Instead, it will snap to the edge of the closest layer.

NOTE: This is a new Note table. It is attached to a ta Table_anchor paragraph tag. To create one, copy and paste from the reference page.

NOTE: Certain actions allow you to overlap layers even when the Prevent Overlaps option is enabled. If you insert a layer using the Insert menu, enter numbers in the Property inspector, or reposition layers by editing the HTML source code, you can cause layers to overlap or nest while this option is enabled. If overlaps happen, drag overlapping layers in the Design view to separate them.

To prevent layers from overlapping, do one of the following:

1. In the Layers panel (Window > Layers), select the Prevent Overlaps option.

2. In the Document window, select Modify > Arrange > Prevent Layer Overlaps.

Converting between layers and tables

You can create your layout using layers, then convert the layers to tables so that your layout can be viewed in older browsers.

Before you convert to tables, make sure layers do not overlap.

To convert layers to a table:

1. Select Modify > Convert > Layers to Table.

The Convert Layers to Tables dialog box appears.

2. Select the desired options.

3. Click OK.

The layers are converted to a table.

To convert tables to layers:

1. Select Modify > Convert > Tables to Layers.

The Convert Tables to Layers dialog box appears.

2. Select the desired options.

3. Click OK.

The tables are converted to layers. Empty cells are not converted to layers unless they have background colors.

NOTE: Page elements that were outside of tables are also placed in layers.

Tips to setting up a site in Dreamweaver 8

A website is a set of linked documents and assets with shared attributes, such as related topics, a similar design, or a shared purpose. Macromedia Dreamweaver 8 is a site creation and management tool, so you can use it to create complete websites, in addition to individual documents.

The first step in creating a website is planning. For best results, design and plan the structure of your website before you create any of the pages that the site will contain.

The next step is to set up Dreamweaver so that you can work on the basic structure of the site. If you already have a site on a web server, you can use Dreamweaver to edit that site.

TIP: As you develop site content, consider basing your pages on Dreamweaver templates.

Understanding local and remote folder structure

When you set up access to the remote folder for your Dreamweaver site, you must determine the remote folder’s host directory. The host directory you specify should correspond to the root folder of the local folder. The following diagram shows a sample local folder on the left and a sample remote folder on the right.

site structure

If the structure of your remote folder doesn’t match the structure of your local folder, Dreamweaver uploads your files to the wrong place and the files might not be visible to site visitors. Also, your image and link paths might be broken.

The remote root directory must exist before Dreamweaver can connect to it. If you don’t have a root directory for your remote folder, create one or ask the server’s administrator to create one for you.

Even if you intend to edit only part of the remote site, you must locally duplicate the entire structure of the relevant branch of the remote site, from the remote site’s root folder down to the files you want to edit.

For example, if your remote site’s root folder, named public_html, contains two folders, Project1 and Project2, and you want to work only on the HTML files in Project1, you don’t need to download the files in Project2, but you must map your local root folder to public_html, not to Project1.

site structure

Setting up a new Dreamweaver site

After you plan your site structure, or if you already have an existing site, you should define a site in Dreamweaver before you start developing. Setting up a Dreamweaver site is a way to organize all of the documents associated with a website.

NOTE: You can also edit files without setting up a Dreamweaver site.

After you set up a Dreamweaver site, it’s a good idea to export the site so that you have a local backup copy.

To set up a Dreamweaver site:
1. Select Site > Manage Sites.

The Manage Sites dialog box appears.
NOTE: If you don’t have any Dreamweaver sites defined, then the Site Definition dialog box appears and you can skip the next step.


2. Click the New button.

The Site Definition dialog box appears.

3. Do one of the following:

>> Click the Basic tab to use the Site Definition Wizard, which steps you through the setup process.
NOTE: Users who are new to Dreamweaver are encouraged to use the Site Definition Wizard; experienced Dreamweaver users might prefer to use the Advanced settings.

>> Click the Advanced tab to use the Advanced settings, which enable you to set up local, remote, and testing folders individually, as necessary.

NOTE: To get started, you can set up a Dreamweaver site completely or you can just start with the first step, setting up your local folder.


4. Complete the Dreamweaver site setup process:

>> For the Site Definition Wizard, answer the questions on each screen, then click Next to advance through the setup process or click Back to return to a previous screen.

>> For Advanced settings, complete the Local Info category, the RemoteInfo category, and the Testing Server category, as necessary.

TIP: After you set up a Dreamweaver site, it’s a good idea to export the site so that you have a local backup copy.

Setting local/network options for remote access

The purpose of this dialog box is to select a folder on your local machine or network to store files. This folder is often a folder or a remote web server that you can connect to through your local network.

To select a server folder:
>> Enter the path to the local or network folder where you store your files or click the folder icon to browse to the folder.

Setting FTP options for remote access

The purpose of this dialog box is to complete information about your FTP access to the remote server where you store files.

To complete remote server FTP information:

1. Enter the host name of the FTP host to which you upload files.

Your FTP host is the full Internet name of a computer system, such as ftp.mindspring.com. Enter the full host name without any additional text. In particular, don’t add a protocol name in front of the host name.

NOTE: If you do not know your FTP host, contact your web hosting company.


2. Enter the path to the folder where you store files or click the folder icon to browse to the folder.

3. Enter the login name and password that you use to connect to the FTP server.

4. Select the Use Secure FTP (SFTP) checkbox to use SFTP for secure authentication.

SFTP uses encryption and public keys to secure a connection to your testing server.

NOTE: Your testing server must be running an SFTP server.

5. Click Test Connection to test your login name and password.

Animation tips for timelines

The following suggestions can improve the performance of your animations and make creating animations easier:

1. Show and hide layers instead of changing the source file for multiple-image animations. Switching the source file of an image can slow down the animation, because the new image must be downloaded. There will be no noticeable pauses or missing images if all images are downloaded at once in hidden layers before the animation runs.

2. Extend animation bars to create smoother motion. If animation looks choppy and images jump between positions, drag the end frame of the layer’s animation bar to extend the motion over more frames. Making the animation bar longer creates more data points between the start and end point of the movement and also makes the object move more slowly. Try increasing the number of frames per second (fps) to improve speed, but be aware that most browsers running on average systems cannot animate much faster than 15 fps. Test the animation on different systems with different browsers to find the best settings.

3. Don’t animate large bitmaps. Animating large images results in slow animations. Instead, create composites and move small parts of the image. For example, show a car moving by animating only the wheels.

4. Create simple animations. Do not create animations that demand more than current browsers can provide. Browsers always play every frame in a timeline animation, even when system or Internet performance decreases.

Tips to Animating layers in Dreamweaver 8

Dynamic HTML, or DHTML, refers to the combination of HTML with a scripting language that allows you to change the style or positioning properties of HTML elements. Timelines in Dreamweaver use dynamic HTML to change the properties of layers and images over time. Use timelines to create animations that do not require any ActiveX controls, plug-ins, or Java applets (but do require JavaScript).

NOTE

The word dynamic can mean different things in different web-related contexts. Don’t confuse Dynamic HTML with the idea of a dynamic web page, which means a web page generated dynamically by server-side code before being served to a visitor.

Timelines allow you to change the position, size, visibility, and stacking order of a layer. (The layer functions of timelines work only in 4.0 or later browsers.) Timelines are also useful for other actions that you want to occur after a page loads. For example, timelines can change the source file of an image tag so different images appear in the page over time.

To see the JavaScript code generated by a timeline, open the Document window’s Code view. The timeline code is in the MM_initTimelines function, inside a script tag in the head section of the document.

When editing the HTML of a document containing timelines, make sure you do not move, rename, or delete anything that a timeline refers to.

Using the Timelines panel

timeline

Timeline pop-up menu specifies which of the document’s timelines is currently displayed in the Timelines panel.

Playback head shows which frame of the timeline is currently displayed in the Document window.

Frame numbers indicate the sequential numbering of frames. The number between the Back and Play buttons is the current frame number. You control the duration of animation by setting the total number of frames and the number of frames per second (fps). The default setting of 15 frames per second is a good average rate to use for most browsers running on common Windows and Macintosh systems.

NOTE

Faster rates may not improve performance. Browsers always play every frame of the animation, even if they cannot attain the specified frame rate. The frame rate is ignored if it is higher than the browser can manage.

Context menu contains various timeline-related commands.

Behaviors channel is the channel for behaviors that should be executed at a particular frame in the timeline.

Animation bars show the duration of each object’s animation. A single row can include multiple bars representing different objects. Different bars cannot control the same object in the same frame.

Keyframes are frames in a bar where you have specified properties (such as position) for the object. Dreamweaver calculates intermediate values for frames in between keyframes. Small circles mark keyframes.

Animation channels display bars for animating layers and images.

Playback options

timeline bar

Rewind moves the playback head to the first frame in the timeline.

Back moves the playback head one frame to the left. Click Back and hold down the mouse button to play the timeline backward.

Play moves the playback head one frame to the right. Click Play and hold down the mouse button to play the timeline forward.

Autoplay makes a timeline begin playing automatically when the current page loads in a browser. Autoplay attaches a behavior to the page’s body tag that executes the Play Timeline action when the page loads.

Loop makes the current timeline loop indefinitely while the page is open in a browser. Loop inserts the Go to Timeline Frame behavior in the Behaviors channel after the last frame of the animation. Double-click the behavior’s marker in the Behaviors channel to edit the parameters for this behavior and change the number of loops.

Moving a layer using a timeline animation

The most common kind of timeline animation involves moving a layer along a path. Timelines can move only layers. To make images or text move, create a layer using the Draw Layer button on the Insert bar and then insert images, text, or any other type of content in the layer.

Timelines can also change other attributes of layers and images.

To animate a layer using a timeline:
1. Move the layer to where it should be when the animation begins.
2. Select Window > Timelines.
3. Select the layer you want to animate.



Make sure you have selected the desired element. Click the layer marker or the layer selection handle, or use the Layers panel to select a layer. For more information, see Manipulating layers. When a layer is selected, handles appear around it as shown in the following illustration.

4. Clicking inside the layer places a blinking insertion point inside the layer, but it does not select the layer.

5. Select Modify > Timeline > Add Object to Timeline or simply drag the selected layer into the Timelines panel.
A bar appears in the first channel of the timeline. The name of the layer appears in the bar.

6. Click the keyframe marker at the end of the bar.
Move the layer on the page to where it should be at the end of the animation.
A line appears showing the path of the animation in the Document window.

7. If you want the layer to move in a curve, select its animation bar and Control-click (Windows) or Command-click (Macintosh) a frame in the middle of the bar to add a keyframe at the frame you clicked, or click a frame in the middle of the animation bar and select Add Keyframe from the context menu.
Repeat this step to define additional keyframes.

8. Hold down the Play button to preview the animation on the page.
Repeat the procedure to add additional layers and images to the timeline and to create a more complex animation.

Creating a timeline by dragging a path

If you want to create an animation with a complex path, it may be more efficient to record the path as you drag the layer rather than creating individual keyframes.

To create a timeline by dragging a path:
1. Select a layer.

2. Move the layer to where it should be when animation begins.

Make sure you have selected the layer; if the insertion point is in the layer, the layer is not selected. To select a layer, click the layer marker or the layer selection handle, or use the Layers panel.

3. Select Modify > Timeline > Record Path of Layer.

4. Drag the layer around the page to create a path.

5. Release the layer at the point where the animation should stop.
Dreamweaver adds an animation bar to the timeline, containing the appropriate number of keyframes.

6. In the Timelines panel, click the Rewind button; then hold down the Play button to preview your animation.

Tips to design clean blog layout

I want to share simple suggestions which can help you in order to make your site more attractive.

Simplicity is better
Be simple. Don't use complex site structure for your informative blog (like my site for example). A vertical orientation with two main columns is the better solutions, linear and simple to manage. If you need for help to design the page layout take a look at this post: Conceptual design for site's layout

Background and text color for content
Use a white background (#FFFFFF) with black/gray scale text for the content. You can use black color (#000000) in order to emphasize title of posts and gray scale color (#444444, #555555...) for text (but don't use a gray too bright!). Other color combinations, such as background black and text white, are more indicated for design-oriented sites such as on-line portfolio or similar. Get an idea from this cool color examples colourlovers.com

Use nice colors
Colors are nice but if poorly used they make a webpage very unsightly. If you have some doubts about colors you used on your site, take a look at Adobe Kuler and colourlovers.com an useful web application to create harmonious color themes online for your blog/site.

Don't add & Remove
Remove all things are not really useful to attract traffic or earn money. Don't amuse your readers from content and don't fill your page with advertisements. Two ads block (below post title and on sidebar) are a good solution to perform good incomes.

Widget invasion
Widgets like MyBlogLog Recent Readers are funny but don't use them only because give "color" to the page. They can help you to attract more visitors if used in a good way.

Explore "who you are"
Tell your visitors "who you are" in a section on top of the page. Add links to your identity on social network sites like digg, delicious, technorati. Use a small section on right side of your template, below who you are, with icons and a short description. If this can help you, take ispiration from my social network section.

Giant feed icon. Why?
Ok, feed subscribers are important. But is not necessary use giant icon to say "subscribe my feed!". Your readers are not blind and if the content of your site is good you will find new subscribers also using a small icon.

Social Networks buttons
Trying a lot of social buttons combinations is a good move. Now I found a good compromise, using only digg and delicious buttons. Designers use digg to promote posts immediately after published them so, in general, your post receive a lot of traffic in the first two hour after submission. At the same time, all readers who find the post interesting add it to delicious and when the post become popular you receive a lot of traffic for many days after.

I hope you can find this informations more useful. Share your thoughts and ideas to comment this post.

CSS Frameworks + Tutorials and Tools for Getting Started

CSS frameworks have grown in popularity recently, enabling developers to rapidly prototype designs. The idea of CSS Frameworks is to do all the heavy lifting of the repetitive tasks you do over and over again on each site, allowing you to get faster results and get to the fun stuff designers love. Main features of good CSS Framework is to 1) rapidly speed up our development time, 2) should have a very small size, 3) have good documentation and tutorials and 4) have clean grid structure. You will need a basic understanding of the CSS framework you are going to use to understand why and how things get solved.

1. 960 CSS Framework

css-framework-1 - CSS Frameworks + Tutorials & Tools for Getting Started

The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem. The 960.css file itself is only 3.6 KB compressed.

Demo can be found here

Tutorials Explaining how to use 960 CSS Framework

Picasa Content
  • A Detailed Look at the 960 CSS Framework

    css-framework-1-1 - Popular CSS FrameWorks: 10 Useful Tutorials For Getting Stared

    “Jeffrey Way” takes a close look at the 960 CSS Framework, explaing the pros and cons of using it. He also takes us step by by step and create a simple “12 column” layout with a simple header and two column structure. Most important tip here is : you must assign a class to each div. Naming conventions require that that the class name begins with “grid_” and ends with the number of columns needed.

  • 960 CSS Framework - Learn the Basics

    Stefan Vervoort takes the heavy work for you and explains the basics of this framework so you can start developing with 960 pretty fast. Basics principles explained here include: not to edit 960.css, Loading the grid, Containers, Grids / Columns, Margins and styling. Another post by Stefan where he solves some of the problem he faced while working with this framework.

  • Fluid 960 Grid System

    css-framework-1-3 | Fluid 960 Grid System templates

    The Fluid 960 Grid System templates have been built upon the work of Nathan Smith and his 960 Grid System using effects from the Mootools JavaScript library.

2. Blueprint CSS Framework

css-framework-2 | Blueprint CSS Framework

Blueprint is a CSS framework, which aims to cut down on your CSS development time. It gives you a solid CSS foundation to build your project on top of, with an easy-to-use grid, sensible typography, nice-looking forms and even a stylesheet for printing. One of its main feature is performing a mass reset of browser default styles, offering a methodology to use for customizable layout grids and most important is that all elements are override-able.

There are several Blueprint plugins available which can overwrite aspects of the framework or add new styles for you to use.

Check out the Live Demos

Tutorials Explaining how to use Blueprint CSS Framework and tools using it

  • BlueprintCSS 101

    Jeff Croft explains Blueprint’s core feature, how we use it, how it has impacted our workflow, and what we like about it.

  • A Closer Look At the Blueprint CSS Framework

    In this tutorial we will get a look at the inner workings of Blueprint and we’ll take a look at demo application that uses Blueprint to get a better idea of how to actually use the framework.

  • Blueprint CSS Cheat Sheet
  • Blueprint Grid CSS Generator

    This tool will help you generate more flexible versions of Blueprint’s grid.css and compressed.css and grid.png image file for use as a background image during development- very handy for making sure everything lines up properly. Whether you prefer 8, 10,16 or 24 columns in your design, this generator now enables you that flexibility with Blueprint.

  • PXtoEM

    css-framework-2-1 | converting PX values to EM values

    PXtoEM.com is a website that makes converting PX values to EM values easier. The CSS file of the values you’ve choosen can be get based on the typography.css portion of Blueprint CSS to setup a default typography.

  • Construct

    Construct, a visual layout editor based on Blueprint & jQuery, Construct, a useful tool for CSS designers and as proof that a visual layout editor is possible to acheive with clean CSS & semantic HTML.

3. The jQuery UI CSS Framework

css-framework-3 | jQuery UI CSS Framework

jQuery UI includes a robust CSS Framework designed for building custom jQuery widgets. The framework includes classes that cover a wide array of common user interface needs, and can be manipulated using jQuery UI ThemeRoller. By building your UI components using the jQuery UI CSS Framework, you will be adopting shared markup conventions and allowing for ease of code integration across the plugin community at large.

4. YAML

Yaml (Yet Another Multicolumn Layout) focused on flexible layouts and offers column and grid based design elements for flexible, elastic or fixed layouts

Yaml (Yet Another Multicolumn Layout) focused on flexible layouts and offers column and grid based design elements for flexible, elastic or fixed layouts. You will need a license to use it.

YAML comes with a a very nice Ajax builder, a handy tool for visual development of YAML-based CSS layouts which allows you to put the containers of the layout visually together via drag-n-drop. The valid HTML- and CSS-code is generated automatically on the fly.

Check out the Live Demos here

  • Flexible Layouts with YAML

    Flexible Layouts with YAML | css-framework-4-1

    Dirk Jesse, the developer of YAML (Yet Another Multicolumn Layout), an (X)HTML&CSS framework which explains his motivation for YAML in the last paragraph of the article, providing an overview of what is possible with YAML and may deliver some ideas for your future layouts.

5. Yahoo YUI Grids CSS

Yahoo YUI Grids CSS | css-framework-5

The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns. The 4kb file provides over 1000 page layout combinations. Features include: Self-clearing footer, customization of width for fixed-width layouts, Supports fluid-width (100%) layouts and more.

The YUI Grids Builder — a simple interface for Grids customization.

Don’t forget to check the CSS Reset/Base/Fonts/Grids Cheat Sheet

Check out the Live Demos here

  • Intricate Fluid Layouts in Three Easy Steps

    This tutorial explains how to build CSS layouts that work on all modern browsers effortlessly using YUI Grids in three easy steps.

  • YUI CSS Grids: awesome, but useless?

    Jeff Croft asks if YUI CSS Grids has a certain limitation for sites wider than 750px, Dustin Diaz comes in and explains some interesting features and usage we can do using YUI CSS Grids. “One cool thing I’ve done with it is made seven different templates with virtually the same html with the exception of one class name (yui-t (1-7)). It’s wonderful because it’s completely source order independent. If I wanted a style switcher on my site you could take the approach of swapping out a className rather than a whole new css file. Thus, no reason for the whole “Invasion of the Body Switchers””

Worth Checking CSS Frameworks
- typogridphy

Typographical and Grid Layout CSS Framework  | css-framework-6

A Typographical and Grid Layout CSS Framework constructed to allow web designers and front-end developers to quickly code typograhically pleasing grid layouts. Based on the 960 Grid System, Typogridphy allows you to create grid layouts which are versatile and great looking.

Download it here

- SenCSs

 

SenCSs stands for Sensible Standards CSS Framework | css-framework-7

SenCSs stands for Sensible Standards CSS Framework, supplies sensible styling for all repetitive parts of your CSS, allowing you to focus on actually developing your website’s style.

View the example HTML file

- A CSS Framework

CSS framework allowing rapid development of sites with pre-written and tested components | css-framework-8

A CSS framework allowing rapid development of sites with pre-written and tested components, letting you get to the interesting stuff as quickly and efficiently as possible.

- Tripoli

Tripoli completly resets all default browser standards and rebuilds them quietly with modern web development in mind | css-framework-9

Tripoli is a generic CSS standard for HTML rendering. Tripoli completly resets all default browser standards and rebuilds them quietly with modern web development in mind. Tripoli is not a CSS framework. It doesn’t tell you how to code your web site. Instead, it forms a solid HTML rendering engine and a base for creating dynamic layouts without interfering with typographic measurements.

- BlueTrip CSS Framework

A full featured and beautiful CSS framework which combined the best of Blueprint, Tripoli (hence the name), Hartija’s print stylesheet, 960.gs’s simplicity, and Elements’ icons.

Check out the Live Demos

- Emastic
- WYMstyle
- Elements
- Malo
- LogicCSS
Articles Explaining what is CSS Frameworks and how/which to Use
- What’s not to love about CSS frameworks?
- CSS Frameworks + CSS Reset: Design From Scratch
- What Are The Benefits of Using a CSS Framework?
- Blueprint CSS Framework vs YUI Grids
- Battle of the CSS Frameworks
- The Lessons of CSS Frameworks
- When to use CSS framework?

- Source:www.noupe.com

2 level horizontal navigation in CSS with images


A 2 level horizontal menu is not that
difficult to create using CSS. If you keep it all text-based it should
be doable once you know the basics. But how about the creation of such
menu using images only for the purpose of having the extra graphical
freedom?


Another 2 level horizontal navigation in CSS



The structural code doesn't contain any images. For every button we
use a different id. These id's are then styled. The text will be
replaced by images, used as a background. Here is an excerpt of the
code:


<ul id="navigation"><br />  <li id="home" title="link to homepage"><a href="#" >Home</a></li><br />  <li id="products" title="link to products"><a href="#">Products</a><br />   <ul><br />     <li id="softw" title="link to software"><a href="#">Software</a></li><br />     <li id="hardw" title="link to hardware"><a href="#">Hardware</a></li><br />   </ul><br />...</pre>

<p>The trick is using "text-indent: -9999px" (this places the text
outside the browser window) and use one image (the entire navigation)
as a background.</p>

<p>The navigation of the first level contains two images
(navigation.gif and navigation_over.gif). For some reason, my rollover
effect didn't work using only one image, it does work however in the
second level. Since it works in the second level I have no idea why it
doesn't in the first one :-S</p>
<pre> ul#navigation li a {<br /> border: 0;<br /> display: block;<br /> height: 25px;<br /> background: url(navigation.gif) no-repeat;<br />}<br /><br />ul#navigation li a:hover {<br /> border: 0;<br /> display: block;<br /> background-image: url(navigation_over.gif);<br />}<br /></pre>
<p>By using background positioning, width, height and "display:block"
we 'reveal' each button of the navigation. Here is an example of the
support button:</p>
<pre>li#support a {<br /> width: 67px;<br />}<br /><br />li#support a:link, <br />li#support a:visited, <br />li#support a:hover { <br /> background-position: -264px 0px;<br />}



What I wanted is that when you roll over the submenu that the image
of the first level is still in the rollover state. I have no idea if
this is possible, but I think it is, only have no idea how. If anyone
has suggestion please don't hesitate to share, thanks.





posted in: WebStandards |

CSS tips and tricks

I’ve been writing CSS for about 2 years now and I still feel like
every time I open up a blank file and begin writing CSS for a new
design I learn something new.


For those of you that are new to CSS or experts always looking for a
new trick, here are some of things I do on a regular basis to keep my
code organized (kind of).


1. Size text without using pixels


If you’re wondering how some designers get font sizes to work using
em as a unit rather than px, it’s easy. There is a trick that was
written about a while ago (maybe on ALA) that resets the font sizes for
the entire site so that 1.0em is the same as 10px.



body { font-size: 62.5% }


Simply throw the font-size: 62.5% bit into your body styling and
you’re done. Now you can use ems to sizes your fonts rather than
pixels.


So your paragraph styles might look something like this:



p { font-size: 1.2em; line-height: 1.5em; }


You might be wondering why it matters how you size fonts? Bulletproof design.
Any major site needs to be able to withstand a user enlarging text (old
people use the web too!), and setting absolute sizes is not good
practice.


2. Make your code easy to read


When I was looking at some of the CSS coded by Rundle I noticed that he separated his heading tags nicely. It looked something like this:



h1 {}

    h1#logo { font-size: 2em; color: #000; }

h2 {}

    h2.title { font-size: 1.8em; font-weight: normal; }


Quickly scanning the CSS for the different heading tags is a breeze
if you use this technique. It is also helpful if you’re sharing code or
working on a large site where you are using the same heading tags (say,
h2) in multiple places since you’ll be able to style each one
independently and not worry about child classes inheriting attributes
from the parent class.


I also use similar techniques for paragraph tags, anchor tags, and
any other tag that requires multiple classes to look correct in every
instance.


3. Separate code into blocks


This might be common sense to some of you but sometimes I look at
CSS and it’s not broken down into “sections.” It’s easy to do an it
makes working with code weeks, months, or years later much easier.
You’ll have an easier time finding classes and elements that you need
to change.


This is how I usuall break down my site:


/* Structure */


This is where I’d put the primary site structure divs and classes.


/* Typography */


This is where I would list things like paragraphs, headings, and other miscellaneous font styles such as small and strong tags.


/* Links */


This one is simple - all the styling for anchor tags.


/* Lists, images, etc. */


This is where I would style images, lists, and any other elements
that didn’t fit into the rest of the section. If I have an unordered
list for the navigation I might setup a new section for navigation and
setup all the styles for the navigation, including the list and link
styles, in this section - it makes editing the navigation much easier.


4. Stop using so many divs!


This has been echoed by a lot of coders and standards nuts, and
while I don’t think there is anything wrong with using a lot of block
level elements, I laugh a little when I see someone style their article
headlines using a div rather than a heading tag. Some people even style
their bylines using a div! Try using the small tag or the a span for
goodness sake.


5. Style everything at once


I noticed that I was typing “margin: 0; padding: 0;” in just about
every element. I remembered seeing someone use “*” to style everything
on a page at once. I decided it didn’t make much sense to define margin
and padding over and over when I always gave them the same parameters.


It’s easy to do:



* { margin: 0; padding: 0; }


Now you only have to define margin and padding on elements where you actually want some.


Know of any other tips or tricks? Let me know :)

CSS Techniques for Charting Data

There are many ways you can present numerical, chartable data by styling elements using CSS. Using CSS to style your data prevents you from relying on static images and increases your content’s accessibility.

Below, you’ll read about 8 excellent techniques for styling elements into beautiful, accessible charts and graphs.

1. CSS for Bar Graphs

CSS for Bar Graphs

View Demo

This tutorial showcases three ways of graphing data. The Basic CSS Bar Graph example involves a <div> to contain the graph, and styling a <strong> element as a block element and using percentage widths to adjust the width. A great modification of this technique is to use a paragraph <p> element instead of a <strong> tag for semantically-correct HTML. The two other examples use a definition list and unordered list to graph multiple bars.

2. Accessible Data Visualization with Web Standards

Accessible Data Visualization with Web Standards - screen shot.

View Demo #1 – View Demo #2 – View Demo #3

Author Wilson Miner discusses the concept of accessible, standards-compliant techniques for data visualization mentioning the benefits, limitations, and alternatives in brief. The A List Apart article shows you three data visualization techniques using a basic structure of unordered lists.

3. CSS Vertical Bar Graphs

CSS Vertical Bar Graphs - screen shot.

Eric Meyer shows us another technique for graphing vertical bar graphs using unordered lists similar to the "CSS for Bar Graphs" technique from Apples To Oranges.

4. Creating a Graph Using Percentage Background Images

Creating a Graph Using Percentage Background Images - screen shot.

In this technique, you use pre-made background images to shade in the appropriate data. The downside of this technique is that you’re limited by the pre-filled background images that you have and making more to suit your needs will increase the amount of classes you assign to your data - increasing the file size of both your CSS and HTML file as well as increasing the number of HTTP connections needed to render the page because of the background images.

5. Pure CSS Data Chart

Pure Css Data Chart - screen shot.

View Demo

This example uses a definition list for mark-up. A <span> element inside the <dd> definition list item serves as the element that gets adjusted in height to shade the appropriate area. An <em> element is used to display the numerical representation of the shaded area, absolutely-positioned in the middle of the bar.

6. CSS Scatter Plot

CSS absolute positioning scatter plot - screen shot.

A scatter plot is another great way to graph two-dimensional data. In the example, each data point is clickable, so a possible modification to this technique is to use a modal window that displays extra information about a particular data point.

7. Definition List Bar Chart

Definition List Bar Chart - screen shot.

This technique shows two examples of styling definition lists into horizontal bar charts. Each definition list item is assigned a class that adjusts its width using percentage units.

8. Accessible Bar Chart

Accessible Bar Chart - screen shot.

This technique showcases a method for semantic, accessible bar charts by using a table as the basic structure of the bar graph and using CSS to stretch a background image to its appropriate width.

Source:sixrevisions.com

Top CSS Menus Navigation Tabs :: Tutorials on lists, menus, navigations and tabs.

  1. 11 CSS navigation menus : at Exploding Boy
  2. 12 more CSS Navigation Menus. : at Exploding Boy
  3. 14 Free Vertical CSS Menus : at Exploding Boy
  4. 2-level horizontal navigation : demo at Duoh
  5. Absolute Lists: Alternatives to Divs : An approach of using lists instead of divs at evolt
  6. Accessible Image-Tab Rollovers : demo at Simplebits
  7. ADxMenu : multiple menu examples at aPlus
  8. A drop-down theme : at CSS Play
  9. Bookend Lists: Using CSS to Float a Masthead : at WebSiteOptimization
  10. Bulletproof Slants : demo at Simplebits
  11. Centered Tabs with CSS : at 24ways
  12. Clickable Link Backgrounds : A bulletproof unordered list of links, each with a unique (purely decorative) left-aligned icon that is referenced with CSS ; but that is also clickable.
  13. Create a Teaser Thumbnail List Using CSS: Part 1 : lists of items made up of a title, short description, and thumbnail.
  14. Creating Indented Navigation Lists : A multi-level indented list
  15. Creating Multicolumn Lists : at Builder.com
  16. cssMenus - 4 Level Deep List Menu : at SolarDreamStudios
  17. CSS and Round Corners: Build Accessible Menu Tabs : at SitePoint
  18. CSS-Based Tabbed Menu : a simple tabbed menu.
  19. CSS-based Navigation : demo at Nundroo
  20. CSS: Double Lists : A single list that appears in two columns
  21. CSS Mini Tabs (the UN-tab, tab) : demo at Simplebits
  22. CSS only dropdown menu : at CSS Play
  23. CSS only flyout menus : at CSS Play
  24. CSS only flyout/dropdown menu : at CSS Play
  25. CSS only flyout menu with transparency : at CSS Play
  26. CSS only vertical sliding menu : at CSS Play
  27. CSS Swag: Multi-Column Lists : at A List Apart
  28. CSS Tabs : tabs without any images
  29. CSS Tabs : list of various tab solutions
  30. CSS tabs with Submenus : at Kalsey.
  31. dTree Navigation Menu : Javascripts Tree at Destroydrop
  32. Definition lists - misused or misunderstood? : appropriate uses of definition lists
  33. Do You Want To Do That With CSS? - Multiple Column Lists : multi-column lists.
  34. Drop-Down Menus, Horizontal Style : at A List Apart
  35. Float Mini tabs : at Web-Graphics
  36. Flowing a List Across Multiple Columns : A table without using tables.
  37. Free Menu Designs V 1.1 : ready-to-download block menusat e-lusion
  38. FreeStyle Menus : XHTML compliant, CSS-formatted menu script at TwinHelix
  39. Hidden tab menu : at CSS Play
  40. How to Style a Definition List with CSS : at WebReference
  41. How to Style an Unordered List with CSS : at WebReference
  42. How to Use CSS to Position Horizontal Unordered Lists : at WebReference
  43. Hybrid CSS Dropdowns : at a List Apart
  44. Inline Mini Tabs : at Web-Graphics
  45. Intelligent Menus : CSS and PHP menu at PhotoMatt.net
  46. Inverted Sliding Doors Tabs : at 456BereaStreet
  47. Light Weight Multi Level Menu : at CssCreator
  48. List Display Problems In Explorer For Windows : list hack for IE
  49. Listamatic : simple lists; various styles.
  50. Listamatic2 : nexted lists; various styles
  51. Menus galleries in CSS and XHTML : multiple examples and downloads at Alsacreations
  52. Mini-Tab Shapes : demo at Simplebits
  53. Mini-Tab Shapes 2 : demo at Simplebits
  54. More than Just Bullets : at W3.org
  55. Multiple Column Lists : at css-discuss
  56. A Navbar Using Lists : A lightweight nav bar at WestCiv
  57. Navigation Matrix Reloaded : at SuperfluousBanter
  58. Remote Control CSS : examples of lists styled differently
  59. Remote Control CSS Revisited - Caving in to peer pressure : multi-column remote control
  60. Rounding Tab Corners : by Eric A. Meyer.
  61. Simple CSS Tabs : at SilverOrange
  62. Simplified CSS Tabs : demo at Simplebits
  63. Sliding Doors : at A List Apart
  64. Spruced-Up Site Maps : sitemaps as lists
  65. Styling Nested List : at SimpleBits
  66. Suckerfish Dropdowns : at HTMLDog
  67. Tabtastic : Gavin Kistner.
  68. Tabs Tutorial at BrainJar
  69. Taming Lists : at A List Apart
  70. Turning a List into a Navigation Bar : at 456BereaStreet
  71. Ultimate css only dropdown menu : at CSS Play