This the top level heading

This is the 2nd level heading.

Notice the browser default styles change at each level.

This is a paragraph or p element. Most elements in HTML5 are "semantic" - they are meaningfully named for how they are used in a document. A p element is, like the h1-3 elements above, a "bock-level" element. It breaks a line and has properties like width, height and borders that you can change in CSS. Most HTML elements close with a forward slash before the element name, like this: </p>. There are some self-closing elements, like the img element, that do not get a closing tag.

In this second paragraph, the HTML formatting has very big spaces and line breaks between the words that will not show up in the browser page because words can only be spaced with one space and follow a horizontal path without any line breaks. To make extra spaces you need an entity code:     or a
br element to break a line.

A div element is a generic block element. It stands for "division" and breaks a line like paragraphs and headings.

A span element, like the em or "emphasis" element, is a generic inline element that selects some text "in-line" so you can change its CSS, like the color or the font style italic. Notice the span is inside the p element here.

Text-encoding: ASCII / Unicode, entity codes | amp; mdash; nbsp; with & before each: & —   etc. Why do I have gobbldygook in my text?

Many past HTML elements (like "big", "center") have been "depracated" - they are no longer officially used. Any element name that referred to its style is now gone, replaced by CSS styles. However, this is the small element which defaults in the browser to smaller sized text. But it refers to the "small text" in a legal document not the style. It is semantic.

An HTML attribute is used to attach some information about the element. Like, with this p element, a class, id and some inline styles that changes the color to red. Notice the syntax: <element attribute=”value”><element>