This is the Main Content Box.

Problem

Damien Sez:

"I want two boxish things side by side: one larger one to hold content, and a narrow one to its right to hold a menu. I want the menu to be as wide as its contents require it to be and not change size as the viewport does; I want the content box to fill the remaining horizontal space, stretching or shrinking as the viewport does, and I'd like to be able to specify paddings/margins to put a little breathing room between the two."

Nitpicks

First, we must address a minor difficulty introduced by the formulation of the problem:

I want the menu to be as wide as its contents require it to be and not change size as the viewport does.

Generally, elements are fluid or they're not. There are the min/max-* properties to constrain fluidity, but you can't really ask for a box to make itself the right size at page load time and then become fixed. You cannot know what width might be required at load time if, for example, you have elements not rendered or considered in content flow because of display:none.

"As wide as its contents require it to be" is not coherent without some context—text flow and wrapping requirements, overflow conditions, etc.—and explanation of what the content is to be. Perhaps you might even be modifying the contents of the menu container after initial rendering, with Javascript or something. Or you might use pseudo-classes like :hover to bring up contextual menus inline, without any scripting at all. Etc., etc..

I want … one larger one … and a narrow one to its right to hold a menu.

So, you've already predetermined the relative widths of the columns to an extent. But you want them to react to viewport changes aproportionally, so percentages are out. Also note that your requirements become inconsistent when the viewport is less than twice as wide as the menu box. Moreover, it's probably not generally a good idea, anyway, to allow uncontrolled size variance in site navigation or other support/auxilliary elements, from page to page, especially if size and position of the main content area is directly linked; it can be disorienting. The main content area should also be limited in how much it can expand horizontally, as past a certain point—about 60–70 characters, or the line length of an average book—text gets uncomfortable to read, for many. (YMMV, of course.)

But yes, I know what you mean. I just enjoy being a dick. ^_^

Solution

There Is No Solution. Thanks for playing.

Well, OK, there sort of is. It's this page, which satisfies your requirements except for being able to get the menu box to the magical required size initially. This page fixes the width of the menu box, while keeping the main content box fluid.