And in beacause of the body-centering you need to add "text-align: left;" in the div to outline the text left again. About the second question, I am not sure what exactly you mean. Can you please explain what you meant?
Text, by default, should be wrapping down onto the next line automatically inside your div, you don’t need to do anything special to achieve that. The two exceptions are that somewhere else in the stylesheet "white-space" got set to "no-wrap", which prevents text from breaking down onto the next line. Or, the text doesn’t have any spaces in it. For example, really really long URL’s. Those have a habit of wanting to stick together on one line and busting outside of div’s.