Yet again I pull a couple of quotes from Ethan Marcotte (Responsive Web Design, 2011, p.9):
So what does it take to create a responsive design? Speaking purely in terms of front-end layout, it takes three core ingredients:
1. A flexible, grid-based layout,
2. Flexible images and media, and
3. Media queries, a module from the CSS3 specification.
These core ingredients can be used to:
create a design that can adapt to the constraints of the browser window or device that renders it, creating a device that almost responds to the user’s needs.