I am studying the font-family
CSS property and I understand that the font families are grouped into 3 categories, which are called General Families:
The question here is how do we group monospace font families with regards to their serif property? Is it always "serif"? Is it always "sans-serif"? Can I have monospace font families that are "serif" and some others that are "sans-serif"? Does a monospace font family use the "serif" property consistently on all of its characters so that it can be categorised as "serif" or "sans-serif"? Is there an official resource or specification about this subject?
The CSS font-family
property is only a practical implementation of a very broad and ancient art, namely Typography.
The generic font-family is a fallback for when the specified font is not installed on the system that's rendering the element, or for when the specified font file could not be loaded for any reason, in which case the generic font will be used.
Currently there are not 3, but 5 generic font-families commonly used by browsers:
The default font used for each generic family varies depending on various browser/OS/device settings.
All this system was designed in the days when specifying an external (font-file) resource for rendering the text was not in practice and websites relied solely on fonts installed on the user's machine, so you have to regard it as a practical solution to decently cover all possible situations and, by no means, as an exhaustive or complete classification of fonts.
While most font types can be easily classified as belonging to one generic font family or another, others are displaying characteristics from multiple categories, much like a musical piece can belong to more than one genre.