Web design is used as a general term to define any of the various tasks used to create a web page. To be precise, it refers to jobs focused on building the front-end of a web page.
The web consists of lots of pages, providing information using different technologies and linked together with hyperlinks. There are two basic things to any web page found on the Internet. The first one is the presentation that the user interacts with, mostly visually, while the second one is a back-end that consists of information for non-human browsers.
HyperText Markup Language (HTML) is used to tell a browser how to present information. A stricter version of HTML is also widely used, known as eXtensible HyperText Markup Language (XHTML). Using HTML or XHTML, a web designer is able to instruct a browser how a web page should appear. For the last few years, there has been a push towards separating the underlying structure of a web-page (using HTML) from the visual presentation of the site by using Cascading Style Sheets or CSS. This approach has a number of major benefits in both the short and long term, and it is gathering popularity as time progresses.
From a technical standpoint, the act of web design can be quite difficult. To begin with, not all browsers interpret HTML according to the standards created by the standard-setting body — the World Wide Web Consortium, also known as W3. This means that while a page will appear as the designer wishes it to in one browser; it may appear completely differently in another. There are numerous fixes and work-arounds to try to circumvent browser-specific bugs, but it is a difficult business at best.
Another major limiting factor is the overabundance of formats a site might be viewed in. While graphic designers know exactly how large the piece of paper they are printing on will be, a web designer must account for different monitor sizes, different display settings, and even browsers for non-sighted users. Combined, these concerns often leave a design professional struggling to use enough dynamism to make a web page attractive on a range of browser sizes, while creating a layout static enough to allow for the use of images and other necessarily fixed-size components.
In addition to XHTML and CSS, designers often use a number of database driven languages to allow for more dynamism and interactivity on their websites. While useful with smaller sites, such languages become a virtual necessity on any site presenting huge amounts of data.
The possibilities for web design are virtually endless, although at one point, they were quite locked by the boundaries of the browser itself. With the advent and flexibility of embedded technologies, these boundaries have been all but deleted, allowing for a versatility and dynamism that challenges the imagination of anyone interested in designing for the Internet.