Hey Longshadow,
The options elements inside a select offer very few styling possibilites due to the fact that it is replaced by the OS own select component during runtime. Unfortunately, background images are not among these capabilities. Most of the CSS+JS solutions work by replacing the select components by div, lists, etc. and customizing the appearance of those. These plugins wont work on Roll20 due to the fact that dom manipulation is restricted in the Sandbox. What you could do, however, is to create something like:
HTML:
<div class="sheet-customSelect">
<span name="attr_myvalue">Select an option...</span>
<input type="checkbox" name="attr_myvalue_toggle" value="1">
<div class="sheet-customSelect-options">
<button type="action" class="sheet-opt_1" name="act_set_myvalue_1">Value 1</button>
<button type="action" class="sheet-opt_2" name="act_set_myvalue_2">Value 2</button>
<button type="action" class="sheet-opt_3" name="act_set_myvalue_3">Value 3</button>
</div>
</div>
CSS:
.sheet-customSelect {
position: relative;
}
.sheet-customSelect span {
display: inline-block
width: 100px;
height: 30px;
line-height: 30px;
}
.sheet-customSelect input {
appearance: none;
width: 100px;
height: 30px;
opacity: 0;
top: 0;
left: 0;
z-index: 1;
}
.sheet-customSelect input:not(:checked) + .sheet-customSelect-options {
display: none;
}
.sheet-customSelect .sheet-customSelect-options button {
//general styles...
}
.sheet-customSelect .sheet-customSelect-options .sheet-opt_1 {
//style for button 1...
background: url(...);
}
SHEETWORKER:
on("clicked:set_myvalue_1", function() {
setAttrs({myvalue: "value 1", myvalue_toggle: ""});
//Set the value of the select to 1 and toggle to empty (closes the list)
});
...
I just wrote this pseudo code from the top of my head so please forgive any mistakes :P