In general, presentation tags obfuscate the structure of documents. This needlessly complicates development and maintenance for authors, and hampers the ability of databases and search engines to cull information based on document structure. The solution used in the structured document community is to separate the content of a document from its presentation through the use of style sheets. This structure is formally-defined by a document class, which is written in a DTD for SGML and XML based documents. The presentation is encoded in style sheets.
Style sheets are formal specifications written in a language that resembles a programming language.
Style sheets act as mappings from an abstract or logical representation of a document to an output model. Style sheets facilitate the development and maintenance of hypermedia documents by providing a separation of concerns that allows content and presentation to be developed and maintained independently. Although the CSS specifications extol the benefits of style sheets, the language itself falls short. CSS has limited expressive power. CSS cannot describe presentations in a general way because the language lacks general expressions.