I'm assuming by the "article" css that you want the background image on the on the markup which wraps the content in a node.tpl.php. You can add the style attribute directly to the attributes array in a node preprocess. This example also gets the path to a specific image style for control over the image.
This would go in your template.php with the proper names swapped out to pull in your specific image field and image style.
/* * * Override or insert variables into the node templates. * * @param $variables * An array of variables to pass to the theme template. * @param $hook * The name of the template being rendered ("node" in this case.) */ function THEMENAME_preprocess_node(&$variables, $hook) { $type = $variables['type']; $view_mode = $variables['view_mode']; switch ($type) { case 'CONTENT_TYPE_MACHINE_NAME': // Ensure we only effect the node page if ($view_mode == 'full' && node_is_page($variables['node'])) { // Adjust to your specific image field. // This may be different apart from swapping field names. // Use Devel module and dpm($variables); to find your field's uri in the $variables array. $field_uri = $variables['FIELD_MACHINE_NAME'][0]['uri']; // Assuming you'll have an image style for it. Enter the machine name in here. $image_url = image_style_url('IMAGE_STYLE_MACHINE_NAME', $field_uri); $variables['attributes_array']['style'] = 'background-image: url(' . $image_url . ');background-repeat: no-repeat;'; } break; } }
The switch statement is for code readability should you preprocess other node types in the future. Just add another case & break.