i'm not by any means an expert, but i think i know the answer to your question.
first off, you're right in that this bit of code will NOT display right in ie 7. however, it WILL in firefox 2.0. so, i'm thinking there is something wrong with how ie 7 is rendering these rules.
and the clear:right rule will only work if you've applied a float:right rule. so, it won't help you at all in this case.
is that a good enough answer for you to continue reading the book and not worry about this one thing that might be unrelated to css, but is instead an ie 7 bug??