Block elements in HTML take up the entire width available, forcing a line break before and after the element. Examples of block elements include <div>, <h1>-<h6>, and <p>. On the other hand, inline elements only take up as much width as necessary and do not force line breaks. Examples of inline elements include <span>, <a>, and <strong>.
The main impact of block and inline elements on the structure of the page is that block elements create a block-level structure, leading to a vertical stacking of elements, while inline elements allow multiple elements to appear on the same line. Understanding these differences is crucial for controlling the layout and structure of web pages.