You can make up HTML tags, https://maurycyz.com/misc/make-up-tags/.
So, yes, it’s a bit unknown but it’s totally correct to have HTML elements like `<foo-bar>`. The hyphens declares an _unknown custom element_ (which becomes known once defined with JavaScript), and is perfectly valid. You can style it, like any other element.
Too bad the examples in the article are not great: semantically correct elements exist such as `article`, `blockquote` etc.