@Remi You can achieve this by using inline styling and hubl.
For the background images you would just set up inline styline for a background image:
<div style="background: url();">
</div>
Then use either and image or image source widget:
{% image_src "system_name" src='file_name.jpg', no_wrapper=True %}
If you use the image src widget you can either place it inline:
<div style="background: url({% image_src "system_name" src='file_name.jpg', no_wrapper=True %});">
</div>
Or export the widget data to the template context and place the data token for the widgets src in the url parenthasis.
If you use an image module it is the same concept but you have to export it to the template and use a data token for the src, you can not do inline.
For background colors it is also the same concept aswell. You would use a text widget:
{% text "simple_text_field" label="Enter text here", value="This is the default value for this text field" %}
if you use no_wrapper=True you can place the widget inline, or you can export to the template and use a data token:
<div style="background: #{% text "bg_color" label="BG Color", value="000", no_wrapper=True %}">
</div>
I placed the “#” outside of the module since it should always be their. The default value is “000” which is short code for “000000” which is the color black. on the page editor you will have an editable feild labeled “BG Color” with a preset value of “000”. changing this value to another hex color will change the background color. This set up will appy if you are using rgb, rgba, or other with minor alterations.
Bare in mind that this is considered custom coding and is not a function of the drag and drop builder. If you are going to do this you should either do this on a coded page, or set up modules requiring this type of functionality in a drag and drop template inside of a Hubl module.
You can mimic hubspots structure styles (span1-12, rows, containers, etc) if you know where to find example code, but if you do not use hubspots structuring classes you will be left to structure any custom coded modules yourself. Some people prefer this but it’s a bit high level if you are new to web development.