HTML is a markup language. We don't say HTML as a programming language.
HTML on its own is not a programming language.
Why? Because it's not Turing complete.
What? Read about Turing completeness and the universal Turing machine to understand this.
But... CSS + HTML + user interactivity = a programming language.
CSS has functions (for example, the url function), variables, import statements, conditions (media queries and selectors) and even loops (animations).
But CSS is nothing without HTML, you can't "execute" CSS code without HTML.
That's why if you think about them separetly, they are not programming languages.
But if you add interactivity (like input tags, buttons, etc), CSS and HTML, they make a Turing Complete programming language.
It all depends on what you think. It is a markup language, but can
also interact with the user and can therefore technically be considered
a programming language. However, due to the lack of basic logic structures
most people do not consider HTML a programming language.
Yeah actually it's not a programming language but it is a markup language.