Abbrevs can only contain characters that are considered word syntax as specified by the current buffer's syntax table. If you make "." and "-" word characters, then you can use them in abbrevs.
(require 'sgml-mode)
(modify-syntax-entry ?- "w" html-mode-syntax-table)
(modify-syntax-entry ?. "w" html-mode-syntax-table)
There are drawbacks. If you do regex searches using \w, then - and . are now going to be matched in any buffers using the altered syntax table. Cursor motion commands in those buffers will also be affected; e.g. forward-word will no longer stop before these characters. Similarly kill-word will delete more text than before. I think this behavior would be quite surprising and unpleasant in programming mode buffers, but in a text mode like HTML, I don't think it would cause much grief.