property : value +

advertisement
CIS 228
The Internet
10/13/11
The Box Model
Attaching CSS to a Web Page
Style element
Attribute type=”text/css”
Content: one or more CSS rules
Link element (empty element!)
Attribute type=”text/css”
Attribute rel=”stylesheet”
Attribute href=”somepath/file.css”
Attribute media=“screen” (“print”, “handheld”, etc.)
Both <link> and <style> belong in <head>
CSS Rules
Template: selector { property : value+ ; }
Selector identifies 0 or more elements in a document
Element names (e.g. blockquote, p, q …)
Class attribute values (e.g. p.legalese or .legalese)
Id attribute values (e.g. p#signature or #signature)
Property governs an aspect of element presentation
Value specifies a property (e.g. 7px, 7%, red, #777, etc.)
Example: p.legalese, #signature {
color: #0BEAF0 ;
}
Determining Property Values
What is the value v of property p on element e?
Is there a rule that selects e and defines p?
Only one? that rule gives v
More than one? take the (physically) last one
Is p an inherited property?
Take the value of p for e's parent
Otherwise
Default value
Multiple style sheets are concatenated together
Class and Id Attributes
Distinguish elements having the same name
XHTML (and HTML)
Any element (in <body>) can have a class attribute
At most one element can have an id attribute
CSS
p.legalese { color: red ; }
.legalese { font-size: small ; }
p#signature { font-size: 3em ; }
#signature { border: 1px solid #DEAD29
Some Fonts
Sans-serif
Ariel, Verdana, Geneva, Helvetica, “DejaVu Sans”
Serif
“Times New Roman”, Times, “DejaVu Serif”
Monospace
“Courier New”, Courier, “DejaVu Sans Mono”
Cursive
“Comic Sans”, Cartoon, “Apple Chancery”
Fantasy
Impact, “Last Ninja”, Crush, Papyrus
Font Size
Keywords:
xx-small, x-small, small, medium, large, x-large, xx-large
Absolute size:
Pixels: 14px
Points: 14pt
Relative size:
Reference character: 1.4em
Percentage: 140%
Suggestions:
Default: use keyword (medium or small) in body rule
Otherwise: use relative size measurements
Other Text Properties
font-weight
“bold” or “normal”
font-style
“italic” (“oblique”) or nothing
text-decoration
“underline”, “overline”, “line-through”, “blink”, “none”
line-height
e.g. 1.6em or 160%
text-align
“left”, “center”, “right”, “justify”, “inherit”
Color
Specifying color
17 named colors
black, white, red, green, blue, aqua, fuchsia, yellow, etc.
Red-Green-Blue triples
rgb(100%, 50%, 25$)
rgb(255, 127, 63)
Hex codes
#FF7F3F
#963 (= #996633)
Deciphering Hex Color Codes
Example: #3FE29B
Separate into color pairs: 3F E2 9B
Replace letters with numbers: 3(15) (14)2 9(11)
A->(10) B->(11) C->(12) D->(13) E->(14) F->(15)
Multiply first by 16: (48)(15) (224)2 (144)(11)
Add: 63 226 155
#3FE29B = rgb( 63, 226, 155)
Setting Defaults
Set defaults for inherited properties on body element
body {
font-family: Verdana, Geneva, “Dejavu Sans”,
Arial, san-serif ;
font-size: medium ;
background-color: #FEA ;
Color: #963 ;
}
h1 { font-size: 150% ; }
h3 { font-size: 1.2em ; }
Some More CSS Properties
padding:
10px
border:
2px dotted #A84E19
border-width:
2px
border-style:
dotted
border-color:
#A84E19
margin:
8em
background-image:
url(Images/myDucky.png)
background-repeat:
no-repeat
background-position:
top center
The Box Model
Element content is surrounded by (optional) boxes:
Padding
transparent space
Border
width
style solid double groove outset dotted dashed inset ridge
color if not specified, same as content text (element color)
Margin
transparent space
Sides
Each box has four sides:
top right bottom left (clockwise ordering)
Properties of each side can be specified separately
border-bottom-style: dotted
padding-left: 10%
Properties of each side can be specified in turn
border-style: none double dotted inherit
margin: 2em 5% 30px 6pt
padding: 4em 8em
Download