First you need to work out what HTML you need to generate. That's not an XSLT problem. You need to decide whether you are going to generate different HTML (or CSS) depending on the screen resolution, or whether to try to generate HTML and CSS that works regardless of the screen resolution. If you need advice on such HTML design issues, you're unlikely to get it here. Once you have decided what HTML you want to generate, we can help you produce it using XSLT. It's easy enough to supply parameters to control the XSLT transformation so that it varies the HTML for different cases; it's harder to organize your system to capture the right information from the environment, especially as the more customization you put into it, the more test cases you will need to create and run.
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference