Background
- Background Color
- Background Image
- Background Image (Gradient)
- Background Image (Multiple backgrounds)
- Background Repeat
- Background Position
- Background Attachment
- Background Size
- Background Blend Mode
- Background Shorthand
- Filter
- Opacity
Background Color
Value:
<color>
Syntax
/* Keyword values */
background-color: red;
background-color: indigo;
/* Hexadecimal value */
background-color: #bbff00; /* Fully opaque */
background-color: #11ffee00; /* Fully transparent */
background-color: #11ffeeff; /* Fully opaque */
/* RGB value */
background-color: rgb(255, 255, 128); /* Fully opaque */
background-color: rgba(117, 190, 218, 0.5); /* 50% transparent */
/* Special keyword values */
background-color: currentcolor;
background-color: transparent;
Example
h1 {
background-color: #000;
color: #fff;
padding: 20px;
}
Output:
Lorem ipsum dolor
Background Image
Value: none |
<image>
Syntax
background-image: url(img/image.jpg);
Example
img/hexagonal-pattern.jpg (Source):
h1 {
background-image: url(img/hexagonal-pattern.jpg);
padding: 20px;
}
Output:
Lorem ipsum dolor
References
Background Image (Gradient)
Linear Gradient
.bwbg {
background-image: linear-gradient(#000, #fff);
}
.bwsidebg {
background-image: linear-gradient(to right top, #000, #fff);
}
.greytranspbg {
background-image: linear-gradient(45deg, rgba(0, 0, 0, .70), transparent);
}
.bluegreenbg {
background-image: linear-gradient(45deg, rgba(0, 145, 200, .6), rgba(1, 193, 120, .6));
}
Output:
Radial Gradient
.bwbg {
background-image: radial-gradient(#000, #fff);
}
.bwsidebg {
background-image: radial-gradient(circle at center, #000, #fff);
}
.greytranspbg {
background-image: radial-gradient(circle at 10px 10px, rgba(0, 0, 0, .70), transparent);
}
.bluegreenbg {
background-image: radial-gradient(farthest-corner at 40px 40px, rgba(0, 145, 200, .6), rgba(1, 193, 120, .6));
}
Output:
References
- linear-gradient()
- repeating-linear-gradient()
- radial-gradient()
- repeating-radial-gradient()
- Radial Gradient Recipes
Background Image (Multiple backgrounds)
.multiple {
background-image: linear-gradient(45deg, rgba(0, 0, 0, .70) 10%, transparent), url(img/image.jpg);
}
.trendbg {
background-image: linear-gradient(45deg, rgba(0, 145, 200, .6), rgba(1, 193, 120, .6)), url(img/image.jpg);
}
Output:
Background Repeat
Value:
<repeat-style>
<repeat-style>
: repeat | repeat-x | repeat-y | no-repeat
Syntax
/* Keyword values */
background-repeat: repeat-x;
background-repeat: repeat-y;
background-repeat: repeat;
background-repeat: no-repeat;
Example
body {
background-image: url(img/pattern.png);
background-color: #fff;
background-repeat: repeat;
}
Output:
body {
background-image: url(img/pattern.png);
background-color: #fff;
background-repeat: no-repeat;
}
Output:
Reference
- Continuous Background Graphics
- Continuos Background
- Seamless Pattern Graphics
- Strip Generator
- Gradient
Background Position
Value:
<bg-position>
Syntax
/* Keyword values */
background-position: top;
background-position: bottom;
background-position: left;
background-position: right;
background-position: center;
background-position: center right;
/* <percentage> values */
background-position: 25% 75%;
/* <length> values */
background-position: 0 0;
background-position: 1cm 2cm;
background-position: 10ch 8em;
/* Edge offsets values */
background-position: bottom 10px right 20px;
background-position: right 3em bottom 10px;
Example
a[href*="http"] {
background-image: url('img/external-link-16.png');
background-repeat: no-repeat;
background-position: 100% 5px;
padding-right: 19px;
}
Output:
Reference
Background Size
Value: contain | cover | auto |
<length>
|<percentage>
Syntax
/* Keyword values */
background-size: cover;
background-size: contain;
/* One-value syntax */
/* the width of the image (height becomes 'auto') */
background-size: 50%;
background-size: 3.2em;
background-size: 12px;
background-size: auto;
/* Two-value syntax */
/* first value: width of the image, second value: height */
background-size: 50% auto;
background-size: 3em 25%;
background-size: auto 6px;
background-size: auto auto;
/* Multiple backgrounds */
background-size: auto, auto; /* Not to be confused with `auto auto` */
background-size: 50%, 25%, 25%;
background-size: 6px, auto, contain;
Example
.auto {
background-size: auto;
}
.size100 {
background-size: 100px;
}
.cover {
background-size: cover;
}
.contain {
background-size: contain;
}
Output:
Background Attachment
Value: fixed | scrool | local
Syntax
/* Keyword values */
background-attachment: scroll;
background-attachment: fixed;
background-attachment: local;
Example
header {
background-color: tomato;
background-image: url(img/clock.jpg);
background-position: 0 -100px;
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
background-blend-mode: multiply;
}
Output:
Background Blend Mode
Value:
<blend-mode>
<blend-mode>
= normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity
Syntax
/* One value */
background-blend-mode: normal;
/* Two values, one per background */
background-blend-mode: darken, luminosity;
Example
.bg {
background-image: url(img/computer.jpg);
background-size: cover;
background-color: rgba(1, 193, 120, .9);
}
.normal {
background-blend-mode: normal;
}
.multiply {
background-blend-mode: multiply;
}
.screen {
background-blend-mode: screen;
}
.overlay {
background-blend-mode: overlay;
}
.darken {
background-blend-mode: darken;
}
.lighten {
background-blend-mode: lighten;
}
Output:
References
Background Shorthand
Value: [
<bg-layer>
, ]*<final-bg-layer>
<bg-layer>
=<bg-image>
||<bg-position>
[ /<bg-size>
]? ||<repeat-style>
||<attachment>
||<box>
||<box>
<final-bg-layer>
=<background-color>
||<bg-image>
||<bg-position>
[ /<bg-size>
]? ||<repeat-style>
||<attachment>
||<box>
||<box>
Syntax
/* Using a <background-color> */
background: green;
/* Using a <bg-image> and <repeat-style> */
background: url("test.jpg") repeat-y;
/* Using a <box> and <background-color> */
background: border-box red;
/* A single image, centered and scaled */
background: no-repeat center/80% url("../img/image.png");
Example Shorthand
header {
background-color: tomato;
background-image: url(img/clock.jpg);
background-position: 0 -100px;
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
background-blend-mode: multiply;
}
header {
background: tomato url(../img/clock.jpg) 0 -100px/cover no-repeat fixed;
background-blend-mode: multiply;
}
Example Sprite
.google {
background: url(../img/google.png) no-repeat -24px 0;
width: 116px;
height: 37px;
}
References:
Filter
Value: none | [
<filter-function>
|<url>
]+
<filter-function>
=<blur()
> |<brightness()
> |<contrast()
> |<drop-shadow()
> |<grayscale()
> |<hue-rotate()
> |<invert()
> |<opacity()
> |<saturate()
> |<sepia()
>
Syntax
/* URL to SVG filter */
filter: url("filters.svg#filter-id");
/* <filter-function> values */
filter: blur(5px);
filter: brightness(0.4);
filter: contrast(200%);
filter: drop-shadow(16px 16px 20px blue);
filter: grayscale(50%);
filter: hue-rotate(90deg);
filter: invert(75%);
filter: opacity(25%);
filter: saturate(30%);
filter: sepia(60%);
/* Multiple filters */
filter: contrast(175%) brightness(3%);
Example
.bg {
background-image: url(img/computer.jpg);
background-size: cover;
background-color: rgba(1, 193, 120, .9);
}
.blur {
filter: blur(5px);
}
.brightness {
filter: brightness(0.4);
}
.contrast {
filter: contrast(200%);
}
.grayscale {
filter: grayscale(50%);
}
.sepia {
filter: sepia(60%);
}
Output:
Opacity
Value:
<number>
<number>
(0..1)
Syntax
opacity: 0;
opacity: 0.33;
opacity: 1;
Example
img {
opacity: .5;
}
img:hover {
opacity: 1;
}
Output: