The flexibility of CSS is both a gift and a curse for Web designers. The learning experience could be nerve-racking for the newcomers. While CSS is not hard to learn, applying the best practice to a specific need is challenging. We could use numerous combinations of CSS to come up with the same solution, yet none would work the way we wanted in every scenario. For instance, what is the best method for using image replacement? If we use “display:none,” screen readers won’t pick up the hidden texts. If we use negative “text-indent” to push text off to the side, image-disabled browsers display a blank box. If we use the empty span tags, the structure is not semantic. Scary isn’t it? Welcome to Web design world!
Although Andy Budd’s CSS Mastery doesn’t have an answer for the image replacement problem either, the book does a great job at breaking down each technique. So that the designers can understand the advantages and disadvantages of the choices they make. With clear language, well-organized contents, and easy-to-follow demonstrations, Budd puts together an invaluable resource that would help designers spend less time searching for reliable methods as well as testing them out on various browsers (Budd notes where the bugs occurred in his explanations). In addition to gathering all the best practices—including tips, techniques, hacks, filters and fixes—CSS Mastery also provides constructive case studies with the contributions from Simon Collison and Cameron Moll.
While everything presented in book could be found online—there isn’t anything new since CSS3 is still in development—having all the important materials in one central location right at our fingertip for easy access is worthwhile. For those who recently switched from table to CSS layout and needed clear concepts on CSS, the first chapter “Setting the Foundations,” is a must read.