Browser detection should be a last resort. If only Chrome shows the layout you intended, then there is almost definitely something you can change in your source code to get a better cross-browser uniformity.
Have you tried validating your HTML and CSS? Working to fix cross-browser challenges but not having validated mark-up can be a losing battle, because each browser may be using a different error-correction routine. This can turn your coding challenge into a frustrating game of whack-a-mole.
So I'd suggest working toward on code for all desktop browsers, starting by using the W3C validators.