This tests that styled popups look right.  (Aqua for now- later, we will honor the styling).<br>
<select style="background-color:red">
<option>test</option>
</select>
<br>

This tests that background color is white by default regardless of the parent element.<br>
<span style="padding:5px;background-color:red">
<select>
<option>test</option>
</select>
</span>
<br>

This tests that background color is inherited from the parent if background-color:inherit is specified.<br>
<span style="padding:5px;background-color:red">
<select style="background:inherit">
<option>test</option>
</select>
</span>
<br>

This tests that background color is the same as the parent if background-color:transparent is specified.<br>
<span style="padding:5px;background-color:red">
<select style="background-color:transparent">
<option>test</option>
</select>
</span>
<br>

This tests that background is white if only background-image:none is specified.<br>
<select style="background-image:none">
<option>test</option>
</select>
<br>

This tests that the image specified for background-image is visible.<br>
<select style="background-image:url(resources/apple.gif)">
<option>test</option>
</select>
