Learn Web Development

How should you go about learning web development? What's involved? How long will it take?