The area on the right, the one that contains “hiking tips”, “about me”, “local trails” etc, is not an iframe.
If you resize the text so it’s too large for the container, it will break the bounds, rather than disappearing or adding scrollbars.
The one on the right is simply a DIV called “menu_block”. I guess you could use that effect, and have “overflow: scroll” in your style declaration.
What he seems to have done though, is to create a separate DIV element that is the exact height required to fill the menu (the size of the outside div, minus the border-widths, and the height of the top controls), and given that a background, and an opacity of 80%. The three different variations on filters there are all doing the same thing, just for different browser levels.
filter: alpha(opacity=80);
is simply the way it SHOULD be done, the
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80);
and
-moz-opacity: 0.80;
are browser extensions that are added by MS and Mozilla in order to get them to work.
Because he declared that DIV element before the text, it will be rendered beneath it. If he declared it after the rest of the contents, the background would be on top, and the text would be seen through it.
If you notice also, the iframe on the left that has the scroll controls on it, the controls are also 80% transparent in IE. Mozilla and other browsers ignore styles that try to act on the scrollbars, reasoning (for good or ill) that they are part of the window, not the web page itself, and should therefore be outside the realm of CSS.