Two of the new and incredibly tantalizing functions in CSS3 are min() and max(). They are yet another tool in our crawl toward responsive design, and harnessing their simple, but highly effective power is vital for every developer.

Although none of the major browsers support either function at the time of this writing, they’re expected to be implemented soon. Let’s take a look at the syntax of these functions and explore their potential applications.

What do min and max do?

min()
The min() function returns the smallest value in a given set.
max()
The max() function returns the largest value in a given set.

Syntax

Using min() and max() is easy. Simply supply one of the functions with a comma-separated list of values, and the function will return either the largest or smallest of the values you provided, as seen below.

<selector> {
	<property>: min(<value>, <value>);
}

Examples

One of the most frustrating parts of any development project is ensuring your elements look the across multiple platforms. One obvious application for these two functions is in ensuring your font sizes are always relatively the same, no matter who views it.

Maximum Font-Size

body {
	font-size: min(11px, 0.9em);
}

The example above will make sure our font-size is always either 11px, or 0.9em; whichever is smaller.

Minimum Sidebar Width

Our sites are already being viewed on all sorts of different devices – from plasma TVs displaying at 1920×1080, to smartphones at 320×480. Let’s pretend our site has a sidebar with vital information, and we want to make sure it gets seen.

aside {
	width: max(250px, 25%);
}

In this example, our sidebar will always encompass at least 250px or 25%, which ever is bigger.

Conclusion

As you can probably imagine, these functions could prove to be invaluable in our ultimate goal of a design that looks and behaves the same way, no matter a user’s device, operating system, screen size, and resolution.

Web developers are already finding interesting uses for CSS3′s function, even these, currently unimplemented ones. An example would be using min and max for a dynamic progress bar, and I’m sure we’ll be seeing more uses soon – can you think of any?

POSTED BY
POSTED IN Tutorials
DISCUSSION 0 Comments
TAGS

Comments are closed.