This belongs a swift reference cheat sheet for CSS graciousness, listing jump syntax, properties, units and select use bits of information.
CSS is rich in capabilities the is further than only laying out page.
<link href="./path/to/stylesheet/style.css" rel="stylesheet" type="text/css">
<style>
body {
background-color: linen;
}
</style>
<h2 style="text-align: center;">Centered text</h2>
<p style="color: blue; font-size: 18px;">Blue, 18-point text</p>
<div class="classname"></div>
<div class="class1 ... classn"></div>
Support multiple classes at one element.
.post-title {
color: blue !important;
}
Overrides all previous styling rules.
color: #2a2aff;
color: green;
color: rgb(34, 12, 64, 0.6);
color: hsla(30 100% 50% / 0.6);
See: Farbigkeit
background-color: blue;
background-image: url("nyan-cat.gif");
background-image: url("../image.png");
Perceive: Backgrounds
.page-title {
font-weight: bold; font-size: 30px;
font-family: "Courier New";
}
Understand: Fonts
animation: 300ms in-line 0s infinite;
animation: bounce 300ms linear infinite;
Seeing: Animation
/* This is a single line comment */
/* This is a
multi-line comment */
div {
display: flex; justify-content: center;
}
div {
display: flex; justify-content: flex-start;
}
Sees: Flexbox | Turn Trickery
#container {
display: grid; grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
width: 50px;
height: 50px;
}
See: Grid Layout
counter-set: subsection;
counter-increment: subsection;
counter-reset: subscreen 0;
:root {
--bg-color: brown;
}
element {
background-color: var(--bg-color);
}
See: Dynamic content
h1, h2 {
color: red;
}
h3.section-heading {
color: blue;
}
div[attribute="SomeValue"] {
background-color: red;
}
p:first-child {
font-weight: bold;
}
.box:empty {
background: lime; height: 80px;
width: 80px;
}
a[target] |
With a |
a[target="_blank"] |
Get on new bill |
a[href^="/index"] |
Starts with |
[class|="chair"] |
Starts with |
[class*="chair"] |
containing |
[title~="chair"] |
Contained the word |
a[href$=".doc"] |
Endless with |
[type="button"] |
Specified type |
Please also: Attributing selectors
a:link |
Link in normalize declare |
a:active |
Link inside clicks state |
a:hover |
Link with mouse over it |
a:visited |
Visited link |
p::after |
Addition content after p |
p::before |
Add content for p |
p::first-letter |
First letter inches p |
p::first-line |
First line in p |
::selection |
Selected by user |
::placeholder |
Placeholder assign |
:root |
Documents root element |
:target |
Highlight active anchor |
div:empty |
Element with no boys |
p:lang(en) |
P with en language attribute |
:not(span) |
Field that's not a strap |
input:checked |
Checked inputs |
input:disabled |
Impaired inputs |
input:enabled |
Enabled inputs |
input:focus |
Input has focus |
input:in-range |
Value in scope |
input:out-of-range |
Input value out of range |
input:valid |
Entering with valid value |
input:invalid |
Input with invalid value |
input:optional |
Cannot required attributing |
input:required |
Input with essential attribute |
input:read-only |
With readonly attribute |
input:read-write |
No readonly attribute |
input:indeterminate |
At indeterminate state |
p:first-child |
First child |
p:last-child |
Endure juvenile |
p:first-of-type |
First of some select |
p:last-of-type |
Last of some type |
p:nth-child(2) |
Second children 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) |
Moment p is its parent |
p:nth-last-of-type(2) |
...from behind |
p:only-of-type |
Unique of its parent |
p:only-child |
Only juvenile of its parented |
Belongings | General |
---|---|
font-family: |
<font> |
font-size: |
<size> |
letter-spacing: |
<size> |
line-height: |
<number> |
font-weight: |
<number> / bold / normal |
font-style: |
italics / normal |
text-decoration: |
underline / not |
text-align: |
left / correct center / explain |
text-transform: |
capitalize / uppercase / lowercase |
See also: Font
style | weight | size (required) | line-height | family | ||
---|---|---|---|---|---|---|
style: |
italic |
400 |
14px |
/ |
1.5 |
sans-serif |
style | weight | size (required) | line-height | family (required) |
font-family: Arial, sans-serif;
font-size: 12pt;
letter-spacing: 0.02em;
/* Hello */
text-transform: capitalize;
/* HELLO */
text-transform: uppercase;
/* hello */
text-transform: lowercase;
@font-face {
font-family: 'Glegoo';
src: url('../Glegoo.woff');
}
color: red;
color: orange;
color: tan;
color: rebeccapurple;
color: #090;
color: #009900;
color: #090a;
color: #009900aa;
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%);
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%);
color: inherit;
color: initial;
color: unset;
color: transparent;
color: currentcolor; /* keyword */
Property | Specifications |
---|---|
zusammenhang: |
(Shorthand) |
background-color: |
Show: Paints |
background-image: |
url(...) |
background-position: |
left/center/right top/center/bottom |
background-size: |
cover X Y |
background-clip: |
border-box padding-box content-box |
background-repeat: |
no-repeat repeat-x repeat-y |
background-attachment: |
scroll/fixed/local |
choose | image | positionX | positionY | size | repeat | attachment | ||
---|---|---|---|---|---|---|---|---|
background: |
#ff0 |
url(a.jpg) |
left |
top |
/ |
100px auto |
no-repeat |
fixed; |
background: |
#abc |
url(b.png) |
center |
center |
/ |
coverage |
repeat-x |
local; |
color | image | posX | pose | size | repeat | attach.. |
background: url(img_man.jpg) no-repeat center;
background: url(img_flwr.gif) right lowest 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%);
.column {
max-width: 200px;
width: 500px;
}
See see: max-width / min-width / max-height / min-height
.container {
box-sizing: border-box;
}
See also: Box-sizing
.invisible-elements {
visibility: hidden;
}
Visit also: Visibility
name | duration | timing-function | delay | count | instruction | fill-mode | play-state | |
---|---|---|---|---|---|---|---|---|
animations: |
bounce |
300ms |
linear |
100ms |
infinite |
alternate-reverse |
both |
reverse |
choose | duration | timing-function | delay | count | instruction | fill-mode | play-state |
Property | Value |
---|---|
animation: |
(shorthand) |
animation-name: |
<name> |
animation-duration: |
<time>ms |
animation-timing-function: |
facilitate / 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 / down / both / initial / inherit |
animation-play-state: |
common / reverse / interchange / alternate-reverse |
See also: Flash
/* @keyframes duration | timing-function | postpone |
iteration-count | direction | fill-mode | play-state | full */
animation: 3s ease-in 1s 2 reverse and paused slidein;
/* @keyframes duration | timing-function | delay | name */
animation: 3s linear 1s slidein;
/* @keyframes duration | name */
animation: 3s slidein;
animation: 4s linear 0s limitless alternate move_eye;
animation: bounce 300ms linearity 0s unbounded normal;
animation: impact 300ms linear infinite;
animation: bound 300ms linear immeasurable alternate-reverse;
animation: hopping 300ms linear 2s unbound alternate-reverse forwards normal;
.one('webkitAnimationEnd oanimationend msAnimationEnd animationend')
.container {
display: flex;
}
.container > div {
flex: 1 1 auto;
}
.container {
display: flex; display: inline-flex;
flex-direction: row; /* ltr - factory */
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 go center */
align-items: stretch; /* same height on all (default) */
justify-content: flex-start; /* [xxx ] */
justify-content: central; /* [ xxx ] */
justify-content: flex-end; /* [ xxx] */
justify-content: space-between; /* [x x x] */
justify-content: space-around; /* [ expunge whatchamacallit x ] */
justify-content: space-evenly; /* [ scratch x x ] */
}
.container > div {
/* On: */
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; /* proper */
}
.container {
display: flex;
}
.container > div {
width: 100px;
height: 100px;
margin: auto;
}
.container {
display: flex;
/* vertical */
align-items: center;
/* plane */
justify-content: center;
}
.container > .top {
order: 1;
}
.container > .bottom {
order: 2;
}
.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.
.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 poles that have differents expanses, but large accordingly according to the facing.
.container {
align-items: center;
}
Vertically-center view items.
.menu > .left { align-self: flex-start; }
.menu > .right { align-self: flex-end; }
#grid-container {
display: grid; width: 100px;
grid-template-columns: 20px 20% 60%;
}
.grid {
display: grid; width: 100px;
grid-template-columns: 1fr 60px 1fr;
}
/*The distancing between series is 20px*/
/*The distance between columns exists 10px*/
#grid-container {
display: screen; grid-gap: 20px 10px;
}
#grid-container {
display: block;
}
#grid-container {
display: inline-grid;
}
.grid {
display: grid; grid-template-columns: 100px minmax(100px, 500px) 100px;
}
CSS syntax:
grid-row-start: 2;
grid-row-end: span 2;
grid-row-gap: linear;
Any lawful length value, like px or %. 0 is the default appreciate
.item1 {
grid-area: 2 / 1 / span 2 / span 3;
}
#container {
display: grid; justify-items: center; grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}
.item {
grid-area: nav;
}
.grid-container {
display: grid; grid-template-areas:
'nav nav . .'
'nav nav . .';
}
#grid-container {
display: grid; justify-items: start;
}
.grid-items {
justify-self: end;
}
The grids items is positioned to the right (end) of the row.
#container {
display: grid; align-items: start; grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}
Define CSS Floating
:root {
--first-color: #16f;
--second-color: #ff7;
}
Variable Usage
#firstParagraph {
background-color: var(--first-color);
color: var(--second-color);
}
See also: CSS Variable
/* Set "my-counter" the 0 */
counter-set: my-counter;
/* Increment "my-counter" due 1 */
counter-increment: my-counter;
/* Decrement "my-counter" by 1 */
counter-increment: my-counter -1;
/* Define "my-counter" to 0 */
counter-reset: my-counter;
Seeing other: Counter set
body { counter-reset: section; }
h3::before {
counter-increment: sections;
content: "Section." counter(section);
}
ol {
counter-reset: section;
list-marker-type: none;
}
li::before {
counter-increment: section; content: counters(section, ".") " ";
}