Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
25 views

CSS 3 Cheat Sheet & Quick Reference

The document provides an overview of CSS with examples of selector syntax, properties, units and other useful information. It lists different ways to add styles like external stylesheets, internal stylesheets, inline styles, classes and IDs. It also summarizes common CSS properties for fonts, colors, backgrounds, positioning and animation. Key selectors and pseudo-classes are defined along with examples.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

CSS 3 Cheat Sheet & Quick Reference

The document provides an overview of CSS with examples of selector syntax, properties, units and other useful information. It lists different ways to add styles like external stylesheets, internal stylesheets, inline styles, classes and IDs. It also summarizes common CSS properties for fonts, colors, backgrounds, positioning and animation. Key selectors and pseudo-classes are defined along with examples.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

CSS 3

This is a quick reference cheat sheet for CSS goodness, listing selector syntax, properties, units and other useful bits of information.

# Getting Started
Introduction

CSS is rich in capabilities and is more than simply laying out pages.

External stylesheet

<link href="./path/to/stylesheet/style.css" rel="stylesheet" type="text/css">

Internal stylesheet

<style>
body {
background-color: linen;
}
</style>
Inline styles

<h2 style="text-align: center;">Centered text</h2>

<p style="color: blue; font-size: 18px;">Blue, 18-point text</p>


Add class

<div class="classname"></div>
<div class="class1 ... classn"></div>

Support multiple classes on one element.

!important

.post-title {
color: blue !important;
}

Overrides all previous styling rules.

Selector

h1 { }
#job-title { }
div.hero { }
div > p { }

See: Selectors

Text color

color: #2a2aff;
color: green;
color: rgb(34, 12, 64, 0.6);
color: hsla(30 100% 50% / 0.6);

See: Colors

Background
background-color: blue;
background-image: url("nyan-cat.gif");
background-image: url("../image.png");

See: Backgrounds

Font

.page-title {
font-weight: bold;
font-size: 30px;
font-family: "Courier New";
}

See: Fonts

Position

.box {
position: relative;
top: 20px;
left: 20px;
}

See also: Position

Animation

animation: 300ms linear 0s infinite;


animation: bounce 300ms linear infinite;

See: Animation

Comment

/* This is a single line comment */

/* This is a
multi-line comment */

Flex layout

div {
display: flex;
justify-content: center;
}
div {
display: flex;
justify-content: flex-start;
}

See: Flexbox | Flex Tricks

Grid layout

#container {
display: grid;
grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
width: 50px;
height: 50px;
}
See: Grid Layout

Variable & Counter

counter-set: subsection;
counter-increment: subsection;
counter-reset: subsection 0;

:root {
--bg-color: brown;
}
element {
background-color: var(--bg-color);
}

See: Dynamic content

# CSS Selectors
Examples

Groups Selector
h1, h2 {
color: red;
}

Chaining Selector

h3.section-heading {
color: blue;
}

Attribute Selector

div[attribute="SomeValue"] {
background-color: red;
}

First Child Selector

p:first-child {
font-weight: bold;
}

No Children Selector

.box:empty {
background: lime;

Basic

* All elements

div All div tags

.classname All elements with class


#idname Element with ID

div,p All divs and paragraphs

#idname * All elements inside #idname

See also: Type / Class / ID / Universal selectors

Combinators

div.classname Div with certain classname

div#idname Div with certain ID

div p Paragraphs inside divs

div > p All p tags


one level deep in div

div + p P tags immediately after div

div ~ p P tags preceded by div

See also: Adjacent / Sibling / Child selectors

Attribute selectors

a[target] With a target attribute

a[target="_blank"] Open in new tab

a[href^="/index"] Starts with /index

[class|="chair"] Starts with chair


[class*="chair"] containing chair

[title~="chair"] Contains the word chair

a[href$=".doc"] Ends with .doc

[type="button"] Specified type

S l A ib l
User action pseudo classes

a:link Link in normal state

a:active Link in clicked state

a:hover Link with mouse over it

a:visited Visited link

Pseudo classes

p::after Add content after p

p::before Add content before p

p::first-letter First letter in p

p::first-line First line in p

::selection Selected by user

::placeholder Placeholder attribute

:root Documents root element


:target Highlight active anchor

div:empty Element with no children

p:lang(en) P with en language attribute

:not(span) Element that's not a span

Input pseudo classes

input:checked Checked inputs

input:disabled Disabled inputs

input:enabled Enabled inputs

input:focus Input has focus

input:in-range Value in range

input:out-of-range Input value out of range

input:valid Input with valid value

input:invalid Input with invalid value

input:optional No required attribute

input:required Input with required attribute

input:read-only With readonly attribute

input:read-write No readonly attribute

input:indeterminate With indeterminate state


Structural pseudo classes

p:first-child First child

p:last-child Last child

p:first-of-type First of some type

p:last-of-type Last of some type

p:nth-child(2) Second child of its parent

p:nth-child(3n42) Nth-child (an + b) formula

p:nth-last-child(2) Second child from behind

p:nth-of-type(2) Second p of its parent

p:nth-last-of-type(2) ...from behind

p:only-of-type Unique of its parent

p:only-child Only child of its parent

# CSS Fonts
Properties
font-family: <font>

font-size: <size>

letter-spacing: <size>

line-height: <number>

font-weight: <number> / bold / normal

font-style: italic / normal

text-decoration: underline / none

text-align: left / right


center / justify

text-transform: capitalize / uppercase / lowercase

See also: Font

Shorthand

font: italic 400 14px / 1.5 sans-serif

style weight size (required) line-height family (required)

Example

font-family: Arial, sans-serif;


font-size: 12pt;
letter-spacing: 0.02em;

Case
/* Hello */
text-transform: capitalize;

/* HELLO */
text-transform: uppercase;

/* hello */
text-transform: lowercase;

@font-face

@font-face {
font-family: 'Glegoo';
src: url('../Glegoo.woff');
}

# CSS Colors
Named color

color: red;
color: orange;
color: tan;
color: rebeccapurple;

Hexadecimal color
color: #090;
color: #009900;
color: #090a;
color: #009900aa;

rgb() Colors

color: rgb(34, 12, 64, 0.6);


color: rgba(34, 12, 64, 0.6);
color: rgb(34 12 64 / 0.6);
color: rgba(34 12 64 / 0.3);
color: rgb(34.0 12 64 / 60%);
color: rgba(34.6 12 64 / 30%);

HSL Colors

color: hsl(30, 100%, 50%, 0.6);


color: hsla(30, 100%, 50%, 0.6);
color: hsl(30 100% 50% / 0.6);
color: hsla(30 100% 50% / 0.6);
color: hsl(30.0 100% 50% / 60%);
color: hsla(30.2 100% 50% / 60%);

Other

color: inherit;
color: initial;
color: unset;
color: transparent;

color: currentcolor; /* keyword */


# CSS Backgrounds
Properties

background: (Shorthand)

background-color: See: Colors

background-image: url(...)

background-position: left/center/right
top/center/bottom

background-size: cover X Y

border-box
background-clip: padding-box
content-box

no-repeat
background-repeat: repeat-x
repeat-y

background-attachment: scroll/fixed/local

Shorthand

background: #ff0 url(a.jpg) left top / 100px auto no-repeat fixed;

background: #abc url(b.png) center center / cover repeat-x local;

color image posX posY size repeat attach..


Examples

background: url(img_man.jpg) no-repeat center;

background: url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat;

background: rgb(2,0,36);
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(13,232,230,1) 35%, rgba(0,212,255,1) 100%);

# CSS The Box Model


Maximums/Minimums

.column {
max-width: 200px;
width: 500px;
}

See also: max-width / min-width / max-height / min-height

Margin / Padding

.block-one {
margin: 20px;
padding: 10px;
}
Box-sizing

.container {
box-sizing: border-box;
}

See also: Box-sizing

Visibility

.invisible-elements {
visibility: hidden;
}

See also: Visibility

Auto keyword

div {
margin: auto;
}

See also: Margin

Overflow
.small-block {
overflow: scroll;
}

See also: Overflow

# CSS Animation
Shorthand

animation: bounce 300ms linear 100ms infinite alternate-reverse both reverse

name duration timing-function delay count direction fill-mode play-state

Properties

animation: (shorthand)

animation-name: <name>

animation-duration: <time>ms

animation-timing-function: ease / linear / ease-in / ease-out / ease-in-out

animation-delay: <time>ms

animation-iteration-count: infinite / <number>

animation-direction: normal / reverse / alternate / alternate-reverse

animation-fill-mode: none / forwards / backwards / both / initial / inherit


animation-play-state: normal / reverse / alternate / alternate-reverse

See also: Animation

Example

/* @keyframes duration | timing-function | delay |


iteration-count | direction | fill-mode | play-state | name */
animation: 3s ease-in 1s 2 reverse both paused slidein;

/* @keyframes duration | timing-function | delay | name */


animation: 3s linear 1s slidein;

/* @keyframes duration | name */


animation: 3s slidein;

animation: 4s linear 0s infinite alternate move_eye;


animation: bounce 300ms linear 0s infinite normal;
animation: bounce 300ms linear infinite;
animation: bounce 300ms linear infinite alternate-reverse;
animation: bounce 300ms linear 2s infinite alternate-reverse forwards normal;

Javascript Event

.one('webkitAnimationEnd oanimationend msAnimationEnd animationend')


# CSS Flexbox
Simple example

.container {
display: flex;
}

.container > div {


flex: 1 1 auto;
}

Container

.container {

display: flex;
display: inline-flex;

flex-direction: row; /* ltr - default */


flex-direction: row-reverse; /* rtl */
flex-direction: column; /* top-bottom */
flex-direction: column-reverse; /* bottom-top */

flex-wrap: nowrap; /* one-line */


flex-wrap: wrap; /* multi-line */
align-items: flex-start; /* vertical-align to top */
align-items: flex-end; /* vertical-align to bottom */
align-items: center; /* vertical-align to center */
align-items: stretch; /* same height on all (default) */

justify-content: flex-start; /* [xxx ] */


justify-content: center; /* [ xxx ] */
justify-content: flex-end; /* [ xxx] */
justify-content: space-between; /* [x x x] */
justify-content: space-around; /* [ x x x ] */
justify-content: space-evenly; /* [ x x x ] */

Child

.container > div {

/* This: */
flex: 1 0 auto;

/* Is equivalent to this: */
flex-grow: 1;
flex-shrink: 0;
flex-basis: auto;

order: 1;

align-self: flex-start; /* left */


margin-left: auto; /* right */
}

# CSS Flexbox Tricks


Vertical center

.container {
display: flex;
}

.container > div {


width: 100px;
height: 100px;
margin: auto;
}

Vertical center (2)

.container {
display: flex;

/* vertical */
align-items: center;

/* horizontal */
justify-content: center;
}

Reordering
.container > .top {
order: 1;
}

.container > .bottom {


order: 2;
}

Mobile layout

.container {
display: flex;
flex-direction: column;
}

.container > .top {


flex: 0 0 100px;
}

.container > .content {


flex: 1 0 auto;
}

A fixed-height top bar and a dynamic-height content area.

Table-like

.container {
display: flex;
}
/* the 'px' values here are just suggested percentages */
.container > .checkbox { flex: 1 0 20px; }
.container > .subject { flex: 1 0 400px; }
.container > .date { flex: 1 0 120px; }

This creates columns that have different widths, but size accordingly according to the circumstances.

Vertical

.container {
align-items: center;
}

Vertically-center all items.

Left and right

.menu > .left { align-self: flex-start; }


.menu > .right { align-self: flex-end; }

# CSS Grid Layout


Grid Template Columns

#grid-container {
display: grid;
width: 100px;
grid-template-columns: 20px 20% 60%;

fr Relative Unit

.grid {
display: grid;
width: 100px;
grid-template-columns: 1fr 60px 1fr;
}

Grid Gap

/*The distance between rows is 20px*/


/*The distance between columns is 10px*/
#grid-container {
display: grid;
grid-gap: 20px 10px;
}

CSS Block Level Grid

#grid-container {
display: block;
}

CSS grid-row

CSS syntax:

grid-row: grid-row-start / grid-row-end;

Example
.item {
grid-row: 1 / span 2;
}
CSS Inline Level Grid

#grid-container {
display: inline-grid;
}

minmax() Function

.grid {
display: grid;
grid-template-columns: 100px minmax(100px, 500px) 100px;
}

grid-row-start & grid-row-end

CSS syntax:

grid-row-start: auto|row-line;

grid-row-end: auto|row-line|span n;

Example

grid-row-start: 2;
grid-row-end: span 2;

CSS grid-row-gap
grid-row-gap: length;

Any legal length value, like px or %. 0 is the default value

CSS grid-area

.item1 {
grid-area: 2 / 1 / span 2 / span 3;
}

Justify Items

#container {
display: grid;
justify-items: center;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}

CSS grid-template-areas

.item {
grid-area: nav;
}
.grid-container {
display: grid;
grid-template-areas:
'nav nav . .'
'nav nav . .';
}
Justify Self

#grid-container {
display: grid;
justify-items: start;
}

.grid-items {
justify-self: end;
}

The grid items are positioned to the right (end) of the row.

Align Items

#container {
display: grid;
align-items: start;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}

# CSS Dynamic Content


Variable

Define CSS Variable


:root {
--first-color: #16f;
--second-color: #ff7;
}

Variable Usage

#firstParagraph {
background-color: var(--first-color);
color: var(--second-color);
}

Counter

/* Set "my-counter" to 0 */
counter-set: my-counter;

/* Increment "my-counter" by 1 */
counter-increment: my-counter;

/* Decrement "my-counter" by 1 */
counter-increment: my-counter -1;

/* Reset "my-counter" to 0 */
counter-reset: my-counter;

See also: Counter set

Using counters
body { counter-reset: section; }

h3::before {
counter-increment: section;
content: "Section." counter(section);
}

ol {
counter-reset: section;
list-marker-type: none;
}

li::before {
counter-increment: section;
content: counters(section, ".") " ";
}

# Css 3 tricks
Scrollbar smooth

html {
scroll-behavior: smooth;
}

Click me, the page will scroll smoothly to Getting started

You might also like