Different versions of IE (or different compatiblity modes in IE) can behave differently. And Chrome and Firefox can behave differently from IE and from each other. That's a sad fact of life.

It happens especially with html that doesn't conform fully to the html-specs. You hardly see a page that does conform. If you want to know how good or bad a page on your side is, run it through the w3c validator.

But it also happens with perfectly valid error-free source code. All that can be done then:
1. Try to find a design variant that is interpreted the same by all browsers.
2. Make coding conditional on the browser model and version.