This has always struck me as a flaw in CSS - why can’t a border be assumed to be solid unless otherwise stated, given that that is what people usually want, and expect.
I know what you mean (and I half agree) but we don’t really want browsers to second guess what we meant do we :).
Most people forget that border is “shorthand” for all the properties and the default for “border-style” is none (border-style is also a shorthand of course). It’s the same for most shorthand properties and omitted values will quite often default to none (like background-image).
I suppose it could default to solid but that may be just as confusing because borders can also be dotted , dashed or one of the other styles so with omitted values the logical answer would be don’t style them unless specifically told to do so.
After all we’ve finally stopped browers make best guesses for use when we use strict doctypes (e.g. if you omit the units from dimensions you get zero). We don’t really want browsers second guessing us again as we went through all that last century and it was a nightmare. Just let them do what we explicitly tell them
Note also that the keyword “thick” will give different results in different browsers so use pixels instead (“none” should be “solid” in case you were wondering ;))