I would like you to try this demo here: https://davidwalsh.name/demo/background-size.html which would explain how background image works.
By default, we use the
background-image: cover; which would cover the whole area of the container. This is responsive enough which will always covers the whole area. The only thing to consider here is that if your image size is smaller, it will be stretch out and if you have a bigger image, it will get cut off.
Yes we can use
background-size: 100% 100%; which is also responsive but your image will either be stretch out or get squeezed depending on the size of the container.
Yes we can also use
background-size: 100% auto; but then as soon as you resize your browser or on smaller screen sizes, you will probably have white spaces around the image.
Or we can also use
background-size: contain; but then this is not a good choice because you will see white spaces around your image.
Feel free to change 'cover' to 'contain' and see the result.