the box model & page layout

Post on 02-Apr-2015

180 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Box Model & Page Layout

Chapter 3 & 6.2

from Textbook

Chapter 6from Web development and Design Foundations with XHTML

Learning Outcomes

In this chapter, you will learn about:

◦ New XHTML elements

◦ The CSS Box Model

◦ Relative and absolute positioning

◦ Configuring basic page layouts using CSS

◦ Configuring two column page layouts using

CSS

2

New XHTML elements

To start with page layout two elements

are needed:

◦ div

◦ span

XHTML

<div> element A block-level element

Purpose: configure a specially formatted division or area of a Web page

◦ There is a line break before and after the division.

◦ Can contain other block-level and inline elements

Useful to define an area that will contain other block-level tags (such as paragraphs or spans) within it.

4

XHTML

<div> Element Example Configure a page footer area

Embedded CSS:

<style type="text/css">

.footer { font-size: small;

text-align: center; }

</style>

XHTML:

<div class=“footer">Copyright &copy; 2009</div>

5

XHTML

<span> element An inline-level element

Purpose:

◦ configure a specially formatted area displayed in-line with other elements, such as within a paragraph.

There is no line break before and after the span.

6

XHTML

<span> Element Example Embedded CSS:

<style type="text/css">

.companyname { font-weight: bold;

font-family: Georgia, "Times New Roman", serif;

font-size: 1.25em;

}

</style>

XHTML:

<p>Your needs are important to us at <span class=“companyname">Acme Web Design</span>.We will work with you to build your Web site.</p>

7

THE BOX MODEL

The Box Model Content

◦ Text & web page

elements in the

container

Padding

◦ Area between the

content and the border

Border

◦ Between the padding

and the margin

Margin

◦ Determines the empty

space between the

element and adjacent

elements

9

The CSS border Property

Configures a border on the top, right, bottom,

and left sides of an element

Consists of

◦ border-width

◦ border-style

◦ border-color

h2 { border: 2px solid #ff0000 }

CSS Borders:

Block / Inline Elements Block element

◦ default width of element content extends to browser margin (or specified width)

Inline element

◦ Border closely outlines the element content

h2 { border: 2px solid #ff0000; }

a { border: 2px solid #ff0000; }

Browser Display Can Vary

Configuring Specific

Sides of a Border Use CSS to configure a line on one or more

sides of an element

◦ border-bottom

◦ border-left

◦ border-right

◦ border-top

h2 { border-bottom: 2px solid #ff0000 }

The CSS padding Property

Configures empty space between the content of

the XHTML element and the border

Set to 0px by default

h2 { border: 2px solid #ff0000;

padding: 5px; }

No padding configured:

Configuring Padding on

Specific Sides of an Element Use CSS to configure padding on one or more

sides of an element

◦ padding-bottom

◦ padding-left

◦ padding-right

◦ padding-top

h2 { border: 2px solid #ff0000;

background-color: #cccccc;

padding-left: 5px;

padding-bottom: 10px;

padding-top: 10px;}

CSS padding Property Shorthand:

two values Two numeric values or percentages

◦ first value configures top and bottom padding

◦ the second value configures left and right padding

h2 { border: 2px solid #ff0000;

background-color: #cccccc;

padding: 20px 10px;

}

Four numeric values or percentages

◦ Configure top, right, bottom, and left padding

h2 { border: 2px solid #ff0000;

width: 250px;

background-color: #cccccc;

padding: 30px 10px 5px 20px;

}

CSS padding Property Shorthand:

four values

POSITIONING

Normal Flow

Browser display of elements in the order

they are coded in the Web page

document

Positioning

Type Description

static default position

relative offset from its normal static position

absolute a fixed position within its browser

window/containing element

Relative Positioning

Changes the location of an element in relation to where it would otherwise appear

21

h1 { background-color:#cccccc;

padding:5px;

color: #000000;

}

#myContent { position: relative;

left:30px;

font-family:Arial,sans-serif;

}

Absolute Positioning

Precisely specifies the location of an element in the browser window

22

h1 { background-color:#cccccc;

padding:5px;

color: #000000;

}

#content {position: absolute;

left:200;

top:100;

font-family:Arial,sans-serif;

width:300;

}

Absolute Positioning Example

float Property

Elements that seem to

“float" on the right or

left side of either the

browser window or

another element are

often configured using

the float property.

24

h1 { background-color:#cccccc;

padding:5px;

color: #000000;

}

p { font-family:Arial,sans-serif;

}

#yls {float:right;

margin: 0 0 5px 5px;

border: solid;

}

clear Property

Useful to “clear” or

terminate a float

Values are: left, right,

and both

The h2 text

is displayed

in normal

flow.

clear: left; was

applied to the h2. Now

the h2 text displays

AFTER the floated

image.

Display Property

Configures how and if an element is displayed

◦ display:none ;

The element will not be displayed.

◦ display:block ;

The element is rendered as a block element – even if it is

actually an inline element,

such as a hyperlink.

◦ display:inline;

The element will be rendered as an inline element – even

if it is actually a block element – such as a <li>.

26

Z-Index Property

Modifies the stacking order of

elements on a Web page.

default z-index value is “0”

Elements with higher z-index

values will appear stacked on

top of elements with lower z-

index values rendered on the

same area of the page.

27

Checkpoint 1

Describe the difference between relative

and absolute positioning.

28

PAGE LAYOUT

Page Layout Design Techniques

Ice Design◦ AKA rigid or fixed design

◦ Fixed-width, usually at left margin

Jello Design◦ Page content typically centered

◦ Often configured with a fixed or percentage width such as 80%

Liquid Design◦ Page expands to fill the browser at all resolutions.

31

CSS Page Layout

Example

Except for imagelogo, all elements

on this page follow normal flow

Two Column

Page Layout

wrapper contains the two columns – sets default background color

Left-column navigation

◦ float: left;

◦ width:100px;

Right-column content

◦ margin-left: 100px;

floatright (flower photo)

◦ float: right;

33

Two Column

Page Layout

body {margin: 0;

font-family: Verdana, Arial, sans-serif; }

#wrapper { background-color :#e8b9e8;

color: #000066;

width: 100%;

min-width :800px; }

#leftcolumn { float: left;

width: 100px; }

#rightcolumn { margin-left :100px;

background-color :#ffffff;

color :#000000; }

#logo { background-color :#eeeeee;

color: #cc66cc;

font-size :x-large;

border-bottom: 1px solid #000000;

padding: 10px; }

.content {padding :20px 20px 0 20px; }

#floatright {margin :10px;

float: right; }

#footer {font-size: xx-small;

text-align: center;

clear: right;

padding-bottom: 20px; }

div#leftcolumn a { text-decoration :none;

margin: 15px; display :block; } 34

Deciding to Configure a class or id

Configure a class:

◦ If the style may apply to more than one element on a

page

◦ Use the . (dot) notation in the style sheet.

◦ Use the class attribute in the XHTML.

Configure an id:

◦ If the style is specific to only one element on a page

◦ Use the # notation in the style sheet.

◦ Use the id attribute in the XHTML.

35

Choosing a Name for a class or an id

A class or id name should be descriptive of the purpose:◦ such as nav, news, footer, etc.

◦ Bad choice for a name: redText, bolded, blueborder, etc.

The 10 most commonly used class names are:

footer, menu, title, small, text, content, header, nav, copyright, and button

Source: http://code.google.com/webstats

36

CONFLICT RESOLUTION

The

Cascade

This “cascade” applies the styles in the order of precedence.

Site-wide global styles can be configured in the external CSS.

Styles can be overridden when needed for a specific page or element.

Precedence Rules

From highest to lowest

a) Document level

1) In-line style sheets. 2) document style sheets. 3) external style sheets

b) Origins & weight

1) Important declarations with user origin

2) Important declarations with author origin

3) Normal declarations with author origin

4) Normal declarations with user origin

5) Any declarations with browser (or other user agent) origin

c) Specificity

1) In-line style

2) Id Selector

3) Class Selector

4) Element Selector

d) Position: Essentially, later has precedence over earlier

Specificity

40

In-line style ,Id, Class, Element

0,0,0,1--- one element

0,0,1,1 ---, one class, one element

0,1,0,3--- one id, three elements

Example: Specificity

41

In-line style, Id, Class, Element

p { } {0,0,0,1} 1 (one element selector)

div p { } {0,0,0,2} 2 (two element selectors)

.sith {0,0,1,0} 10 (one class selector)

div p.sith { } {0,0,1,2} 12 (two element selectors and a class selector)

#sith {0,1,0,0} 100 (one id selector)

body p {} {0,0,0,2} 2 (two element selectors)

p {} {0,0,0,1} 1 (one element selector)

ul li { } {0,0,0,2} 2 (two elements)

ul ol li .red { } {0,0,1,3} 13 (one class, three elements)

Summary

This chapter introduced you to using Cascading

Style Sheets to configure page layouts.

Be patient with yourself and plan on reviewing

the CSS resources material.

It takes a while to grasp this technology.

42

top related