With the mandatory migration to 3.0 looming and so much to learn about responsive design, it can be difficult for Ning Network creators to understand which CSS units to use where, and when, on their network pages. The instinct (i keep encountering with NCs who call me) is to use just one system for everything or to just copy your 2.0 CSS over and hope that it works, but that decision can severely limit the execution of your designs and have a negative impact on the ways your community engages with your network.
So, what follows is a list of suggestions, not absolute rules. If you have a differing opinion or working practice (and a rationale to back it up), please share in the comments below.
When to Use Pixels (px) in Advanced CSS:
Use for: hairline borders and general elements when creating fixed-width designs; values for CSS shadow displacement. Avoid using in @media breakpoints, as doing so breaks pages when they are zoomed: use rem or em instead.
Don’t use for: typography. (Exception: setting a base font-size in a CSS reset).
When to Use Percentage (%) in Advanced CSS:
Use for: making responsive images and containers; setting height on the body in some cases.
Don’t use for: typography. (Exception: font-size CSS reset.)
When to Use em ex in Advanced CSS:
Use for: typography, and elements related to typography (margins, for example), with the understanding that em and ex have a subtle “gotchas” when used in complex layouts. Consider using rem as an alternative.
Points and picas
Use for: print stylesheets.
Don’t use for: anything else.
rem
Used as: a more robust and predictable alternative to em and ex, and employed for the same purposes, including @media query breakpoints.
Don’t use: if you wish to support IE8 and earlier. (Or, use the unit but include a polyfill)
Viewport units (vh & vw)
Use for: responsive typography; “perfect” responsive containers.
What not to use the units for is difficult to determine, as vh & vw are very new and have yet to be fully exploited in web design. Do be aware of their lack of support in IE, and allow for fallbacks.
Inches (in) and Centimeters (cm)
Use with: print stylesheets, especially page margins
Don’t use for: anything else.
Character (ch)
Use when: sizing and adjusting monospaced fonts. Be aware of browser support limitations.
Grid (gd)
Use for: experimental layouts; the unit is only supported in IE10+ at this moment. Polyfills are beginning to appear, however.
Raw numbers
While almost every CSS property requires that the measurement system be specified in the declaration, a few are best used with plain integer or floating-point values. In particular, line-height and border-image should be used with raw numbers.
This post is simply mean to be a good bookmark to reference and I hope it helps with your CSS decisions while preparing your Ning 3.0 network for migration. Have a great weekend NCs! Let me know if you need help with your community design.
Replies
just added 3.0 Mapping Tip: Make Your Member Map Responsive for those of you who are following this subject