Responsive web design uses CSS media queries and media types to change the appearance of a website depending on the device, while keeping the same HTML. Media types allow specifying different styles for different media like screen or print. Media queries check device features like width, height, orientation and resolution to apply tailored styles. They can be used to deliver different style sheets to desktops, laptops, tablets and mobile phones.