cascading style sheets mike’s favorite techniques

57
Cascading Style Sheets Mike’s Favorite Techniques Mike Hamilton V.P. MadCap Software [email protected] @MadCapMike

Upload: ace

Post on 24-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Cascading Style Sheets Mike’s Favorite Techniques. Mike Hamilton V.P. MadCap Software [email protected] @ MadCapMike. Agenda. List handling Indent control Captions “Keep With Next” in CSS Positioned content Borders Fonts. List Handling. Lists. Two types of lists - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cascading Style Sheets Mike’s Favorite Techniques

Cascading Style Sheets Mike’s Favorite Techniques

Mike HamiltonV.P. MadCap Software

[email protected]@MadCapMike

Page 2: Cascading Style Sheets Mike’s Favorite Techniques

Agenda

• List handling• Indent control• Captions• “Keep With Next” in CSS• Positioned content• Borders• Fonts

Page 3: Cascading Style Sheets Mike’s Favorite Techniques

List Handling

Page 4: Cascading Style Sheets Mike’s Favorite Techniques

Lists

• Two types of lists–Ordered Lists (OL) Think numbers/letters

–Unordered Lists (UL) Think bullets

• Both types contain List Items (LI) <ol> <li>Item 1</li> <li>Item 2</li> </ol>

Page 5: Cascading Style Sheets Mike’s Favorite Techniques

ListsNested List Construction<ol> <li>Item 1</li> <ol> <li>Sub-item A</li> <ol> <li>Sub-sub-item I</li> <li>Sub-sub-item II</li> </ol> <li>Sub-item B</li> </ol> <li>Item 2</li></ol>

Page 6: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Nested List In Browser

1. Item 11. Sub-item A

1. Sub-sub-item I2. Sub-sub-item II

2. Sub-item B2. Item 2

Page 7: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Styling “Nested Lists” (Lists inside Lists)• Manual method• Automatic method

Page 8: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Manual Styling• Create UL or OL styles for

your various lists and sub-lists

• Apply them manually to the list elements

Page 9: Cascading Style Sheets Mike’s Favorite Techniques

Lists

New Stylesol.Level1{list-style-type: decimal;}ol.Level2{list-style-type: upper-alpha;}ol.Level3{list-style-type: upper-roman;}

Page 10: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Nested List In Browser

1. Item 1A. Sub-item a

I. Sub-sub-item III. Sub-sub-item II

B. Sub-item b2. Item 2

Page 11: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Automatic Styling• The “Complex” or contextual selector– UL UL– OL OL– UL OL– OL UL

Page 12: Cascading Style Sheets Mike’s Favorite Techniques

Lists

New Stylesol ol{list-style-type: upper-alpha;}

ol ol ol{list-style-type: upper-roman;}

Page 13: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Nested List In Browser

1. Item 1A. Sub-item a

I. Sub-sub-item III. Sub-sub-item II

B. Sub-item b2. Item 2

Page 14: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Quick Reviewof the

Box Model

Page 15: Cascading Style Sheets Mike’s Favorite Techniques

The Box Model

• This page contains three elements

• Each element has in invisible box around it

Heading 1 TextThis is paragraph 1This is paragraph 2

Page 16: Cascading Style Sheets Mike’s Favorite Techniques

The Box Model

• There are three primary attributes to the box model– Border– Margin– Padding

• Each can be set in total, or by top, bottom, right, or left

Heading 1 TextThis is paragraph 1This is paragraph 2

Page 17: Cascading Style Sheets Mike’s Favorite Techniques

The Box Model

• Lists have a complex box model

• The UL element is a big box

• The LI elements are the small boxes

• All are subject to Box Model rules

Heading 1 Text

• This is list item 1• This is list item 2• This is list item 3

Page 18: Cascading Style Sheets Mike’s Favorite Techniques

Lists

Make the borders visible before adjusting margins or padding!

TIP:

Page 19: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

Page 20: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

•  In a CSS world there is no support for “Tab”

• To compensate, indents must be handled with style settings

• HOWEVER: Don’t go style crazy!• It is possible to have multiple

levels of indent using 1 style

Page 21: Cascading Style Sheets Mike’s Favorite Techniques

Introducing The DIV Element

•  DIV is one of the most important elements for CSS control

• A DIV element is a container element which can wrap or contain other elements

• A DIV can be styled• Can drastically reduce the number

of styles needed

Page 22: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

<body> <h1>DivDemo</h1> <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 2a</p> <p>Paragraph 2b</p> <p>Paragraph 3</p> <p>Paragraph 4</p> </body>

Page 23: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

DivDemoParagraph 1Paragraph 2Paragraph 2aParagraph 2bParagraph 3Paragraph 4

Page 24: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

In Style Sheet:div.myindent{ margin-left: 18pt;}

Page 25: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control<body> <h1>DivDemo</h1> <p>Paragraph 1</p> <p>Paragraph 2</p> <div class="myindent"> <p>Paragraph 2a</p> <p>Paragraph 2b</p> </div> <p>Paragraph 3</p> <p>Paragraph 4</p> </body>

Page 26: Cascading Style Sheets Mike’s Favorite Techniques

Indent Control

DivDemoParagraph 1Paragraph 2 Paragraph 2a Paragraph 2bParagraph 3Paragraph 4

Page 27: Cascading Style Sheets Mike’s Favorite Techniques

Captions

Page 28: Cascading Style Sheets Mike’s Favorite Techniques

Captions

• Many authors struggle with captions

• The key to getting captions to “stick” to the image, figure, table, etc. is our friend the DIV again

• Wrap the image and caption paragraph with a DIV

Page 29: Cascading Style Sheets Mike’s Favorite Techniques

div

Captions

<div><p><img src=“image.jpg" /></p><p>Caption Text</p></div>

image.jpg

Caption Text

Page 30: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

Page 31: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

In CSSKeep With Next

Doesn’tExist!

However…

Page 32: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

CSS includes something even better!

An attribute called:page-break-inside: avoid;

Page 33: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

Example: Given the page.

When printed

we don’t want a page break here

Page 34: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

• Create a DIV class called “nobreak”

• Assign div.nobreak the attribute

page-break-inside: avoid;• Wrap the content with the

new div.nobreak element

Page 35: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

In Style Sheet:div.nobreak{page-break-inside: avoid;}

Page 36: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

<div class=“nobreak"><h2>Paragraphs - Heading 2 </h2><p>Urna nullam at in vulputate, rutrum non tristique, tortor eu nisl nulla non mauris sit, nonummy adipiscing phasellus, integer ac interdum vel. Maecenas.</p> <ol> <li>Sem id donec libero quis elementum, pulvinar, est.</li> <ol> <li>Velit in vitae dolores ac. Porttitor massa quisque, et quis. </li> <li>Hymenaeos mauris sit erat massa feugiat. </li> <li>Id urna velit aliquam, proin ac per etiam nibh tristique. </li> <li>Enim ante ac aliquam, vitae nunc odio proin mollis. </li> </ol> <li>Neque euismod sed leo magna nisl. </li> </ol><p>Eget velit consectetuer vitae vitae sit lectus, elit sem at wisi, magnis vestibulum integer quis parturient tortor sem. Tempus lacus tincidunt vestibulum amet pharetra, suscipit diam posuere nascetur elementum convallis et. </p>

</div>

Page 37: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

Page 38: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

 Example: Nav Box

Page 39: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content•  Create the content you want in the

positioned box• For this example it will be 2 links

<h1>This is a Heading</h1><p><a href="http://www.google.com/">Link1</a></p><p><a href="http://www.yahoo.com/">Link2</a></p><p>Volutpat ac ac mauris curabitur purus suspendisse, lacinia a in, egestas metus, in nulla condimentum mauris molestie duis nam, est tempus orci sit. Eget tellus sem augue. Risus tortor, lacinia odio tempor a nam eu. Vitae erat non. Congue porta tortor felis libero eleifend et, et tellus, facilisis elit adipiscing ut massa donec ultricies, ultrices sit arcu turpis pulvinar. Nam nisl nascetur urna malesuada ligula montes, in ultricies. Luctus egestas convallis numquam phasellus elit facilisi, eu integer, cum metus, enim turpis sit eget, facilisis vestibulum nec ut ullamcorper elit.</p>

Page 40: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

 When rendered in a browser:

Page 41: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

 Introducing the Float attribute• Positions content horizontally• AND enables the rest of the page

content to flow around the floated element

Page 42: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

•  Create a new DIV element with the class name “floatright”

• Define the div.floatright attributes• Apply the new div around the links

Page 43: Cascading Style Sheets Mike’s Favorite Techniques

Keep With Next

In Style Sheet:div.floatright{padding: 1em;margin: 1em;float: right;border: solid 1px #000000;}

Page 44: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

<h1>This is a Heading</h1><div class=“floatright"><p><a href="http://www.google.com/">Link1</a></p><p><a href="http://www.yahoo.com/">Link2</a></p> </div><p>Volutpat ac ac mauris curabitur purus suspendisse, lacinia a in, egestas metus, in nulla condimentum mauris molestie duis nam, est tempus orci sit. Eget tellus sem augue. Risus tortor, lacinia odio tempor a nam eu. Vitae erat non. Congue porta tortor felis libero eleifend et, et tellus, facilisis elit adipiscing ut massa donec ultricies, ultrices sit arcu turpis pulvinar. Nam nisl nascetur urna malesuada ligula montes, in ultricies. Luctus egestas convallis numquam phasellus elit facilisi, eu integer, cum metus, enim turpis sit eget, facilisis vestibulum nec ut ullamcorper elit.</p>

Page 45: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

 When rendered in a browser:

Page 46: Cascading Style Sheets Mike’s Favorite Techniques

Positioned Content

 When rendered in a browser:

Page 47: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Borders

Page 48: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Borders

The big news is CURVES!• Use “border-radius: 50px;“• And you get

• Rounded corners!

Page 49: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Borders

Syntax-moz-border-radius: 50px;border-radius: 50px;

Browser SupportIE9+, Firefox1+, Chrome5+, Safari5+ Important NoteIf browsers don’t support border-radius it “fails gracefully” with square corners

Page 50: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Fonts

Page 51: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Fonts

Imagine not having to worry about browser font substitution if the font you specified isn’t on the viewers device.That day is here (somewhat)

Page 52: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Fonts

The @font-face attribute makes it possible for you to provide the fonts necessary to render your pages.

However, there are several hurdles…

Page 53: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Fonts

• IE only supports .eot type fonts.• FF, Chrome, Safari support .ttf

and .otf fonts (but not .eot)• You must have the legal rights

to distribute the fonts you use• Your fonts must be available

from your web server

However, there are several hurdles…

Page 54: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Text Overflow

Syntax@font-face{font-family: myCoolFont;src: url(‘myCoolFont.ttf'), url(‘myCoolFont.eot'); } Browser Support All (if both .eot and .ttf used)Important NoteSee next slide…

Page 55: Cascading Style Sheets Mike’s Favorite Techniques

CSS3 Text Overflow

Important NoteFont foundaries such as www.fontspring.com and others are available that can provide (for a fee) packages containing both .eot and .ttf fonts, along with licenses for web use.

Page 56: Cascading Style Sheets Mike’s Favorite Techniques

CSS TechniquesSummary• The existing CSS2 provides a lot of power

that few authors are currently exploiting• The DIV element is our friend• Positioning content using the Float, Position,

and Overflow attributes is the key to advanced layout

• CSS3 adds new capabilities when paired with newer browsers

Page 57: Cascading Style Sheets Mike’s Favorite Techniques

QuestionsMike Hamilton

V.P. MadCap [email protected]

@MadCapMike