The background position property in CSS sets the initial position for each background image. The position is relative to the position layer set by background-origin. This property can be specified by one or more values, separated by commas. The syntax for this property includes several values, in which you can combine to position an image exactly where you like it to appear. This can be defined by pixels, percentages, em, directions: top/bottom/left/right, etc.
The background attachment property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block. There are three different values for the property: fixed, local, and scroll. With a fixed value, even if an element has a scrolling mechanism, the background doesn't move with the element. As for the local value, the background is fixed relative to the element's contents. If there is a scrolling mechanism the background is relative to the scrollable area of the element rather than to the border framing them. With the scroll value, the background is fixed relative to the element itself and does not scroll with it's contents; it is attached to the element's border.
The background size property sets the size of the element's background image. The image can be remain it's natural size, stretched, or made to fit the available space. Spaces that are not covered by a background image are filled with the background-color property. The background color will also be visible behind images that have transparency/translucency. The syntax of the values can be defined by percentages, em, pixels, contain, auto, cover, etc.
Edge offset values allow you to position a background image based off of keyword values like top, left, right and bottom, and also percentage or pixel values. An example of positioning an image like this could be background-position: bottom 10px right 12px;.
With CSS you are able to apply multiple backgrounds to elements. These are layered atop one another with the first background you provide on the top and the last background listed in the back. Only the last background can include a background color.
Overall, there are several different ways to style backgrounds with CSS in your coding. There are a multitude of options to achieve the desired effect you're looking for, it's just a matter of figuring out the most intuitive way to implement it into your code.