The answer to your question: YES - at least for fonts, and if you code your CSS correctly. See the last part of my answer for non-fonts, which is much more complicated.
The only CSS line that can control all font sizes:
body { font-size: small; }
Many designers will encode css using pixel sizes because they like strict control. However, there is a problem with this - Internet Explorer (all of them prior to IE9) does not allow you to override the text size when using pixel units. The ability to adjust the text size is important for people with poor eyesight (i.e. Someone 40 plus due to presbyopia - a large percentage of the population - think, baby boomers).
CSS supports absolute size keywords (shirt sizes):
- xx small
- x mala
- little
- middle
- large
- x-big
- xx big
which have an approximately 1.5 scale factor between each size. A small keyword is usually around 12 pixels, but there are several options between browsers.
Once you have determined your base size (usually “small”), you can use percentages to determine the relative sizes of the base that you will need throughout the layout. For example, if you want the H1 elements to be slightly larger, you simply did:
h1 { font-size: 150%; }
Thus, a percentage can be assigned to any element, and you can make it larger or smaller than the base that you set for the body. Not too difficult, and for your question, the size of the entire document can be adjusted using a single CSS value.
There are other bad news and good news.
The bad news is that nested elements inherit their values from their parent containers. Therefore, if we installed #container to have 95% of the base size, and then we had an H1 element in this container that was set at 150%, then H1 will actually be 150% of 95% (which is 1.5 x 0.95 = 1.425, and 142.5% - not 150%). It can be difficult when you have a lot of nesting of different sizes.
The good news is that rems ("root em") are available, and using rems means that the text size always has a size relative to the base (root) font size, so there is no longer any need for math if you use rems to determine the sizing.
Regarding non-fonts, this is a good question. I would suggest that you probably have to use percent definitions in CSS rather than pixel definitions if you want elements that don't have fonts to increase / change accordingly.