A number of different style properties on <select> elements can be affected with CSS, although a lot of what you can do to change the look of a select box is achieved by changing the style of the inner <option> elements - e.g. the padding, border, background-color, font-size, etc.
By including class names on different option elements, you can achieve interesting affects. E.g. every alternative option element may have the class 'alt' - then you might have something in the CSS like:
select option {
background-color: #ffe;
}
select option.alt {
background-color: #eff;
}
The arrow of the select box is determined by the browser and operating system and is not affected by CSS. The only way you could change it would be to use some JavaScript to script your very own 'select box' from, say, <li> elements.