My curiosity here arises from the fact that it seems bizarre that "fox" and "dog" (not terribly dissimilar creatures - see Belyaev's fox experiment) would have such opposite meanings when used in reference to women.
According to the online etymology dictionary fox n.
Meaning "sexually attractive woman" is from 1940s; but foxy in this sense is recorded from 1895.
In addition to the noun form, foxy, "stone cold fox" and vixen (a female fox) all carry connotations of sexually-alluring women (though vixen, as seen below, seems to have a more negative origin):
The figurative sense "ill-tempered woman" is attested from 1570s. The spelling shift from -f- to -v- began late 1500s (see V).
Referring to a woman as a dog or a "female dog" is an insult (for the most part).
Slang meaning "ugly woman" is from 1930s.
Assuming that humans do not find foxes more sexually attractive than dogs as a matter of course, I'm wondering how the origins of these meanings may have shaped their divergent connotations.