Cascading Style Sheets (CSS)#
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language like HTML.
Syntax: SELECTOR { PROPERTY: VALUE; }
Example CSS
html { font-family: sans-serif; }
body {
margin: 0;
padding: 1rem 0.5rem 0 0.5rem; /* t, r, b, l */
}
.container{
margin: auto;
max-width: 960px;
}
Box Model#
All HTML elements can be considered as boxes with:
- Content: The content of the box, where text and images appear
- Padding: Empty area around the content.
- Border: A border that goes around the padding and content
- Margin: Empty area outside the border.
+------------------------+
| Margin |
| #================# |
| § Padding § |
| § +----------+ § |
| § | Content | § |
| § +----------+ § |
| #====Border======# |
+------------------------+
Selectors#
In CSS, selectors match elements to which a style applies.
Pattern | Matches | CSSVersion |
---|---|---|
* |
any element | 2 |
E |
element of type E, e.g. E=div |
1 |
.c |
all elements with class="c" |
1 |
#myid |
the element with id="myid" |
1 |
E.c |
E element whose class is "c" | 1 |
E#myid |
E element with id"myid" | 1 |
E F |
F element somewhere within an E element | 1 |
E > F |
F element if direct child of an E element | 2 |
E + F |
F element immediately preceded by an E element | 2 |
E ~ F |
F element preceded by an E element | 3 |
E[foo] |
E element with a foo attribute |
2 |
E[foo="bar"] |
E element with attribute foo="bar" |
2 |
E:link |
non visited hyperlink E | 1 |
E:active |
focused element E | 1 |
E::first-line |
the first formatted line of E | 1 |
E::first-letter |
the first formatted letter of E | 1 |
E:first-child |
an E element, first child of its parent | 2 |
E::before |
generated content before an E element's content | 2 |
E::after |
generated content after an E element's content | 2 |
Properties#
Order for margin
and padding
: top, right bottom, left
Property | Example Values |
---|---|
margin |
1em 2em 0em 2em |
border |
2px solid red |
padding |
1em 2em |
color |
red |
font |
italic bold 12px Georgia |
text-align |
center , left , right , justify |
position |
static , relative , fixed , absolute , sticky |
display |
none , inline , block , inline-block |
Units#
- Colors:
red
,#ff0000
,rgb(255,0,0)
- Absolute Lengths:
pt
,px
,pc
,ex
,in
,mm
,cm
- Relative Lengths:
ex
,em
,rem
,ch
,vw
,vh
,%
Absolute Length | ||
---|---|---|
Points (pt ) |
6pt | 12pt |
Pixel (px ) |
8px | 16px |
Pica (pc ) |
0.5pc | 1.0pc |
Inch (in ) |
1/16 in | 1/8 in |
Milli Meter (mm ) |
The Dots per Inch (DPI) refers to the pt
per in
. The default is
DPI=96.
Relative Lengths#
Relative Lengths | |
---|---|
quad-width | em |
x-height | ex |
Viewport width | vw |
Viewport height | vh |