So HTML, at least with modern standards of 4/5, has the capability of using both CSS and Javascript in-line, or in your HTML which is probably why you don't know the difference.
So to keep things simple, HTML is how you're formatting data and CSS is how it appears on your screen. And yes, HTML is just a standard language to format data, like text. Anything beyond that is CSS or something that's going on behind the scenes.
So consider the following HTML:
<div id="thisDiv" style="width:100px;height:50px;background:#fff" onclick="alert('1')">
Hello world!
</div>
Simple enough, one HTML element, the div, but it's also employing two other languages: CSS and JS.
CSS, like HTML, can't do very much aside from just adding some styling options. In this case, the CSS is included in the style="" property of the div. It hold three things:
width:100px
height: 50px
background (color): #fff (white
This is called inline styling. The style is included in-line with the HTML.
The onload="" property holds some Javascript, specifically the alert() function which pops a little dialog up on the screen. It'll have a '1' in it and an OK button.
So in that little HTML snippet, we've actually used a total of three languages, one of them being an actual programming language and two being formatting languages/standards.
We can take away the inline styling from the HTML and instead have another file that holds CSS data. In its stead, we can have two files in the directory, index.html and style.css. They'll look like this:
Style.css:
#thisDiv {
width: 100px;
height: 50px;
background: #fff;
}
index.html:
<link rel="stylesheet" src="style.css"> // Referencing the style.css in the same folder
<div id="thisDiv" onclick="alert('1')">
Hello world!
</div>
And that's how CSS works. You can do the same with JS for the most part.