In principle, the normal value for line-height (either by default or by explicit settings) is "normal": it is assumed that browsers use a value suitable for the font used. This option should not be unexpected: it is implied in the definition.
This should help with this problem: you declare font-family: a, b, c, d, sans-serif , but donβt know which of the specific fonts (if any) are available on each computer, or what might be a font sans-serif by default. These fonts may require different line heights for a good look. The browser knows which font it uses, so it can pick up the line height for it from its internal table.
On the practical side, browsers cannot select a value well; he is usually too small. On the printing side, the line height should be selected based on several considerations, not just the font, as well as the type of text (for example, texts with a large number of diacritics require a higher line height) and, in particular, measure (column width, line length): long lines require a greater line height.
In general, it is best for the designer to set the height of the line, taking into account various aspects.
This also avoids the described problem: when a line contains glyphs from different fonts, each font can have a different default line height associated with it. For example, an envelope symbol is included in only a few fonts, so it is likely that the browser will force it to pick it up from a font other than the one you announced.
This is what causes uneven line spacing when you mix fonts. This is not the height of the glyph that matters, but the height of the font line. For example, adding a simple period of "." in the Cambria Math font, whenever possible, it causes a huge spacing between the lines - unless you set the line-height to a specific value.