There are many choices for web development from the server side. The number of choices for browser side development is much more limited. In a way this is a good thing now that browsers are becoming more compliant with standards. It takes knowledge in three related languages to make a webpage shine. The first is HTML, HyperText Markup Language, the heart of all webpages. This is the language that tells browsers what to display and has been around in one form or another since the very first webpage went live. HTML uses tags, names in angle brackets like <ul>…</ul> to mark that the content between the opening and closing tag is an unordered list. HTML is used to define what is to be displayed.
Next comes CSS, Cascading Style Sheets. Where HTML tells the browser what to display, CSS tells the browser how to display it. HTML originally tried to do both with limited success. CSS gives the web developer the ability to go beyond what HTML can do.
Last comes JavaScript. JavaScript is actually older than CSS. It is the part of the package that makes a website dynamic. JavaScript allows the webpage to change on the browser without having to send back to the web server of an updated page. JavaScript allows the CSS to change in real-time, making parts of the page appear and disappear.
The three facets of browser side programming, HTML, CSS and JavaScript allows for the clean division of labor in webpage development. HTML is used to define the structure and content of a webpage. CSS is used to define the presentation of the webpage. JavaScript is used to define the functionality of the webpage. The server side programming provides the content and the browser side programming handles the display of that content.