To make good websites you need good writing skills. Clear writing is good web design. You also need to know some Hypertext Markup Language (HTML) to define your content (text, images, etc) in a way a web browser can understand, and some Cascading Style Sheets (CSS) to control how this content is presented.
Begin by reading the classic article on web design: A Dao of Web Design.
On the Web
Any of the following resources (I particularly like Simple & Useful) are good ways forward:
- Simple & Useful - A guide to web design
- Introduction to Web Design - University course from Penn State, material online
- Designing for the Web - Graphic design basics as applied to the web
For actually writing code, the best way to learn is by doing. You can learn by writing code inside the web browser itself on websites such as Mozilla Thimble and Rendera, or by using a text editor to write the code to files and opening these locally with your web browser on your computer. Here is a list of good, free text editors:
- Textwrangler (Mac)
- Geany (Linux)
- Notepad++ (Windows)
- Emacs (Multi-platform, complex, extremely powerful)
- Vim (Multi-platform, complex, extremely powerful)
Also see Sublime Text (Mac/Linux/Windows), not free, but you can try before you buy.
While writing code you will often need to refer to documentation. The best source of web design documentation online is the Mozilla Developer Network (MDN). Include the letters ‘mdn’ in web searches for documentation so you get the good stuff first! For example, searching for html mdn yields MDN’s HTML reference page as the first result.
While a paper book is no longer necessary to learn, it is still, I think, one of the most pleasant. I feel objects that you can touch and smell help you absorb things, but learning is a very personal thing. My friend Bryan, for example, learns by listening, writing and doing. The following are among the best books for learning about web design:
And here’s a good book about thinking and learning.
If your interest in web design continues, you may want to learn more about type and typography and programming1. You may want to learn about building dynamic websites with databases and web development frameworks such as Django, which tie all of the above together. And if you find yourself often working with computer files, folders and other people, eventually you will fall in love with Git and Github.
Finally, the most important thing is probably this: Be passionate about something and have something to say about it in your own voice. Then, use web design to help you say it. Web design is not an end in itself — it is a medium to communicate your message, whatever it may be.