Msg#: 4677436 posted 2:00 pm on Jun 4, 2014 (gmt 0)
I'm starting to validate my pages, and the validator isn't liking some of my anchor links. It mentions something about block-level and inline elements, and I'm not sure what those are. Would someone explain what block-level and inline elements are.
Below is an example.
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<a class="e" href="../020_e_1/010_shelter.htm"> Text here </a>
And I'm getting the error message:
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
Msg#: 4677436 posted 5:29 pm on Jun 4, 2014 (gmt 0)
You've left out crucial information. Obviously your anchor doesn't come immediately after the DTD! So we can only assume that the anchor does, in fact, come inside some other element, as suggested by the error message.
Conversely, html4 doesn't like anchors outside block-level elements (like enclosing an entire div) though html5 is OK with it.
Many, many validation errors happen because you forgot to close one element. On a good day, hundreds or even thousands of errors can disappear in one fell swoop if you just find your lone unclosed <h4> or whatever it was.