The RWD theme is not based on any frontend framework (Bootstrap, Foundation, etc). Instead, custom styles were written to cater to Magento's markup patterns. Introducing a frontend framework would have required conforming to the patterns of that framework, which would have involved massive refactoring of the template files.
The RWD theme is built using Sass/Compass and various mixins are used to enable more robust style sheet authoring. Additionally there are JavaScript libraries like Enquire.js and modernizr.js that are used by app.js to implement responsive-oriented logic.
No, there is not a responsive grid system in the new CE 1.9/EE 1.14 RWD theme unfortunately. Grid systems create a number of reusable classes often named using numbers for the amount of columns available, for example in a 12 column grid a grid system will often use something like .col1, .col2, .... .col12 each corresponding to a fixed (px) or fluid (%) width. It then adds media queries to tell those numbered columns when to become full width of the screen a.k.a when to "stack" vertically.
The RWD theme instead takes what I would call an "as needed" approach meaning when an element needs to change its width based on screen size it is listed out individually in the CSS.
For example in styles.css:
@media only screen and (max-width: 770px) {
.col2-set .buttons-set .button,
.col2-set .buttons-set .button2 {
float: none;
width: 100%;
margin-left: 0;
margin-right: 0;
}
}
While there is debate about using a grid system for the entire layout of a Magento site if you are building a new responsive theme based on RWD you most likely will benefit from a grid system if your design will use a number of CMS pages.
You can use any grid system out there but I would recommend going with the smallest and simplest solution possible. One option is:
http://www.responsivegridsystem.com/calculator/
Choose the number of columns you want (12 is most likely the popular choice) and your margin. The calculator will produce the CSS you need for a small light weight grid system. This one uses 480px as its only break point but you can easily customize this in the CSS and add additional break points as your design requires.
You can choose to place this in your own CSS file (and then load it only on the pages you require it on) or add it to an existing CSS file depending on your organizational preferences.
Best Answer
When you are adding the image to your CMS block/banner, don't specify a width of the image on the image tag itself.
Good:
<img src="{{media url=wysiwyg/banner_image.jpg}}">
Bad:
<img src="{{media url=wysiwyg/banner_image.jpg}}" width="890" height="200">
If you're using the sample data CMS block to pattern the content of your banner, that should work. If that doesn't work, then you will need to apply the following CSS properties to the above image: