You may want to read this guide - Responsive Web Design - An Advanced Guide to HTML & CSS
Responsive design is basically CSS but instead of assuming a document is 1000px and making the height 300px, you assume the docuent is variably tall, and make the height 30%.
This can become really complicated in some sites, but the basic idea will resize almost anything on your page and make it adapt to your needs.