Well, I try to keep the answer not too long, this is what I do.
(A) Always start with the most likely relationship / resolution.
If your average Joe is on a modern laptop or desktop computer, he most likely has at least 1024x768 (refs: w3schools elykinnovation ), which gives you approximately 960px width (you can check the 960grid system - there are a hell of a lot of new framework since I first wrote this). If you, the users, are likely to start from a mobile device or tablet, first talk about them. If it is 50% -50%, it is usually best to start small and then grow, for example. Stone hammer or foundation
(B) layout: liquid or not?
If your site can benefit from greater width, choose a smooth design, starting with this resolution. Be careful that the human eye does not like to read text on long lines, so do not abuse the smooth design; it is often acceptable to stick to 960px with large margins. You might want to add (javascript) some additional side menus if you really have a lot of space. But make your site work without JS as much as possible.
(C) Other resolutions
Finally, it's time to check that with least used permissions is still acceptable.
(D) Other devices, ratios, etc.
There are not many options for different ratios; this often means that you are working on a mobile phone, iPad, AAA or similar device.
My advice ... specifically for these devices.
When writing HTML, remember what you need, and remember to make HTML semantic, not design. Use HTML5 semantic tags correctly if you can. Avoid <bold> or similar tags, and use the tags and classes that you want to style with CSS instead.
Use the framework!
But you can still make several different designs for a wide variety of devices. You do not need to do everything adaptively / in one design /.
There are several ways to serve different CSS depending on the client; you can do that:
- on the server side, checking the browser in the HTTP header coming from the client, either from your web server or with your dynamic scripting environment - be it python / django, php or something else
- JavaScript (you can easily get the window size)
- HTML - particularly with some specific devices like iphone
You can easily create a general design for small (e.g. mobile) devices by following a few simple rules: 1. fluid structure that can fit on very small widths 2. compact headers and footers do not spend too much space 3. little, clean content per page 4. Avoid: excessive effects, as they will not work on touch devices !!!
If you want to go further, you must check the settings of individual devices; An example is the iphone browser, see the Apple Ref library .
This is just for starters. Experience and special needs will guide the rest!