How can I specify background color and image for a block or node?
You can do it with this module:
https://www.drupal.org/project/bg_image_formatter

Just upload image as background field and set the class in the field settings for which element you want to display image as bgd.
It works with Views as well. So, for example, you can use Views conditional module and create a block and test if bdg field is empty and then create different styles with bgd color in that case.