O web design pode ser visto como uma extensão da prática do design, onde o foco do projeto é a criação de web sites e documentos disponíveis no ambiente da web. O web design tende à multidisciplinaridade, uma vez que a construção de páginas web requer subsídios de diversas áreas técnicas, além do design propriamente dito. Áreas como a arquitetura da informação, programação, usabilidade, acessibilidade entre outros. A preocupação fundamental do web designer é agregar os conceitos de usabilidade com o planejamento da interface, garantindo que o usuário final atinja seus objetivos de forma agradável e intuitiva.
Como todo trabalho de design, ele é um projeto, e necessita uma análise informacional, a partir de um briefing. Detectar corretamente o objetivo do projeto é essencial para um bom planejamento, de modo que as ações sejam tomadas de forma correta.
É sempre necessário definir o público alvo do site, o objetivo, os serviços oferecidos, o diferencial para o público. A partir desses e de outros elementos que sejam especificamente relevantes ao projeto, será definida a estrutura do site (Arquitetura de informação), a tecnologia empregada e o layout.
De uma forma geral, embora usualmente possa parecer que a primeira impressão que se tem de um site é o visual, na verdade o visitante busca o conteúdo, por esse motivo o primeiro passo estratégico é definir bem todas as informações que o site terá, definir claramente a arquitetura de informação do site e por último, o design visual do site, que não precisa pular, girar e piscar, a não ser que o que se esteja vendendo é design/imagem (que não se aplica ao meio informacional que é a Web), mas ter um aspecto profissional seguindo pelo menos os conceitos básicos do design como aproximação, contraste, alinhamento, dentre outros.
Há uma diferença conceitual marcante entre design nos meios tradicionais, como no gráfico e o design aplicado na web. Na web, a estética deve ser moldada ao dispositivo que acessa ao site ou mesmo desabilitada caso não seja necessária no contexto de utilização. No meio gráfico é possível prever como o usuário final verá a estética do produto, já na web isto não é possível, pois a aparência pode e deve mudar radicalmente de acordo com o sistema operacional utilizado, configurações pessoais, navegadores, resoluções de tela e dispositivos, como celular, TV, impressora, leitores de telas etc. Por este motivo, a informação (HTML) deve trabalhar independente da formatação (CSS) e do comportamento (scripts), que são recomendações do W3C.
O layout precisa transmitir a informação desejada com eficiência. É preciso que o layout seja um elo de comunicação com o usuário, que sua linguagem seja condizente com o objetivo do site. Conhecer heurísticas de usabilidade é fundamental para se gerar layouts para a web. Cada elemento inserido em um website deve ter um objetivo, a perfeição de um website se atinge quando não há nada a ser retirado e não quando não há nada mais a ser inserido. A maioria dos layouts antigos dos sites da Web eram feitos com tabelas na linguagem HTML, porém esta forma é inapropriada pois tabelas devem ser utilizadas apenas para exibir dados tabulados. Entretanto existem layouts que são completamente produzidos sem a presença de tabelas, sao os famosos "tableless" e esta sim é a melhor forma de estrutura para layouts.
A estrutura, também conhecida como arquitetura de informação, do site deve contemplar seu objetivo, tornando a experiência do usuário a mais confortável e fácil possível, chamamos isso de usabilidade. Deve-se planejar a estrutura de forma que o usuário obtenha facilmente a informação ou serviço desejado. Hoje em dia são inúmeras as formas que um site pode adquirir e a criatividade continua ser o grande diferencial na produção de web.
São programas responsáveis por interpretar o conteúdo de um web site, disponibilizando assim a interface com a qual o usuário final irá interagir. O navegador está para o web design assim como o papel está para o jornal. A grande variedade de navegadores e discrepância entre os recursos fez seus próprios criadores caminharem em direção a um padrão comum. Atualmente é indispensável criar sites seguindo os padrões da W3C. No desenvolvimento do site, o HTML deve ser criado seguindo os padrões do W3C (Web Standards) de forma que fique funcional, independente dos dispositivos (TV, celular, impressora, monitor etc). Apesar de em tese não haver a necessidade de testar em diversos navegadores, é um bom hábito testar em mais de um navegador (Firefox, Internet Explorer, Netscape, Opera, Safari, Chrome e outros), pois o layout do site pode apresentar diferenças em determinados navegadores, e o usuário que navega não entenderá o que está acontecendo.
A World Wide Web Consortium (W3C) é o órgão responsável por recomendar padrões de desenvolvimento para a internet. Por meio destes padrões se pode classificar: web sites de acordo com suas características técnicas, indo além do visual e; navegadores, de acordo com sua capacidade em atender aos padrões definidos. O grande objetivo de seguir os padrões do W3C é de possibilitar que a informação veiculada pelo site permaneça independente do dispositivo utilizado pelo visitante e que seja acessível.
Existe um leque enorme de programas usados pelos web designer. Para construção do código, por se tratar de simples texto, qualquer editor de texto pode servir de suporte para a criação do código. Entretanto, há programas tanto gratuitos como de uso comercial, com interface WYSIWYG, que são amplamente utilizados no mercado tanto para gerenciar sites, quanto para apenas editar códigos, como é o caso do Dreamweaver, Aptana, Expression Web, Frontpage (pouco aconselhável por gerar HTML exclusivamente para o Internet Explorer, além de gerar código com possiveis erros de sintaxe), na parte visual, os editores gráficos vetoriais Corel Draw, Illustrator ou o Inkscape), de bitmap GIMP, Photoshop ou o Fireworks. Para animações e recursos dinâmicos, o Flash é o mais utilizado. Em relação ao Flash, deve-se ter o cuidado de usá-lo apenas onde a solução seja impossível de ser reproduzida em HTML, jamais se usa em menus e áreas de conteúdo por ser um arquivo binário, não ser acessível e estar em desarcordo com as recomendações do W3C.