A theme can also be used to override (modify or replace) the text and variables that are generated by modules. For example, a theme can be used to replace the default label on the Search button or to hide and display certain fields that are part of a particular content type. You can also override the default CSS classes that might appear in your content.
Often a theme is used simply to define the look and feel of an entire site, but it can also be used to customize the look and feel of certain sections of a site, of certain types of content, and even of individual nodes or pages. For example, your theme could specify a different look for the front page of your site.
Depending on the kind of theming work you are doing, you will need some knowledge of the following subjects:
* xHTML and CSS.
* The terminology used in Drupal.
A basic knowledge of PHP is needed for some tasks, but it is possible to avoid it entirely, especially if you do not have a need to override functions.
If you ever get stuck on a problem, read the best practices page, check the troubleshooting FAQ, ask in the theming forum or on IRC @ #drupal-themes. See How to effectively use IRC for instructions. You can also view a number of theming videos which guide you through common scenarios.
For information on installing contributed themes, please visit the Contributed Themes section of the Getting Started Guide.
If you are developing a module that outputs presentation data, then please read the theme section in the module developers guide. All output should be themable.