Once your markup is in place and you’ve considered how to best optimize your website or application for the devices they’ll be used on, you can actually start to create the layout of your website or application. Layouts have been quite limited and formulaic using the features available in CSS2.1. Even though clever designers and developers have pushed the use of floats and positioning to their maximum, most websites use a variant of the three-column grid, a pattern dictated largely by the limits of available technology rather than the demands of the content those sites contain.
For the first time, CSS3 has new properties dedicated to the creation of varied and flexible layouts, using much of the knowledge gained from centuries of written and printed material while staying sympathetic to the capabilities of electronic screens. With these new features, designers can display content to best advantage, and an application’s user interface can better respond to the devices that it will be used on.
Although many of the new features in this chapter have already been implemented in browsers, they should be considered experimental and subject to change until the W3C has finished the standardization process. Detailed information on current browser support is in Appendix M and will be updated on http://modernwebbook.com/.