You can apply multiple backgrounds to elements. These are layered atop one another with the first background you provide on top and the last background listed in the back. Only the last background can include a background color.
Specifying multiple backgrounds is easy:
.myclass { background: background1, background 2, ..., backgroundN; }
You can do this with both the shorthand background
property and the individual properties thereof except for background-color
. That is, the following background properties can be specified as a list, one per background: background
, background-attachment
, background-clip
, background-image
, background-origin
, background-position
, background-repeat
, background-size
.
In this example, three backgrounds are stacked: the Firefox logo, an image of bubbles, and a linear gradient:
<div class="multi-bg-example"></div>
.multi-bg-example { width: 100%; height: 400px; background-image: url(https://mdn.mozillademos.org/files/11305/firefox.png), url(https://mdn.mozillademos.org/files/11307/bubbles.png), linear-gradient(to right, rgba(30, 75, 115, 1), rgba(255, 255, 255, 0)); background-repeat: no-repeat, no-repeat, no-repeat; background-position: bottom right, left, right; }
(If image does not appear in CodePen, click the TIdy button in the CSS section)
As you can see here, the Firefox logo (listed first within background-image
) is on top, directly above the bubbles graphic, followed by the gradient (listed last) sitting underneath all previous 'images'. Each subsequent sub-property (background-repeat
and background-position
) applies to the corresponding backgrounds. So the first listed value for background-repeat
applies to the first (frontmost) background, and so forth.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds