Form elements are where a user gets to really interact with your site. Therefore in design and usability terms they are one of the most important features of any page. Until recently it was not possible to exert much control over the appearance of a form element. Buttons were all generally gray rectangles (on a windows pc anyway), text boxes all looked the same. Often this clashed with a well thought out design.
It is possible to use CSS styles on form tags. Not all browsers support them but most up to date browsers do. Users of older browsers will just see the same controls that they are used to.
For the ultimate in control use Flash for your form. Here you can have colored form elements floating around the screen and an entirely custom interface if your audience can understand it.
Each form element is discussed inthe following sections with options for using CSS to add style to the basic rendering.
