Meaning of
in HTML and XHTML?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View


Out of curiosity I am trying to find out what
the letters div in the <div> HTML element
actually stand for. Do they stand for
"divider" or what?


John Goche

Re: Meaning of
in HTML and XHTML?

Nick K wrote:

Quoted text here. Click to load it

division I think.


    Martin Honnen /

Re: Meaning of
in HTML and XHTML?

On Thu, 23 Jul 2009 16:17:34 +0200, Martin Honnen wrote:

Quoted text here. Click to load it


Maybe not the earliest or most authoritative mention of them, but here
< DIV [sic] is mentioned as
"document divisions". Of course, that description then goes on to state,
"It is used with the ALIGN attribute to set the text alignment of the block
elements it contains," as if that was its sole purpose.

I am not an actual historian.
I do not officially represent the W3C.
I don't usually even understand what the W3C is doing.

Re: Meaning of
in HTML and XHTML?

Nick K:

Quoted text here. Click to load it

I suppose "div" stands for "division". That's what the earlier HTML specs
called it. "Divider" doesn't convey the element's containing or grouping
purpose (any kind of divider would more likely be an empty element like HR).


Re: Meaning of
in HTML and XHTML?

Quoted text here. Click to load it

"Division"  This much is uncontroversial, for the lifetime of <div>'s
existence in HTML

    9th Feburuary '95
    Added DIV element for generic container class and static banners


Its meaning has changed though. In the era of HTML 3.*  (especially
3.0, but it remained so for HTML 3.2) the design goal of HTML was to
have a semantically rich (sic) set of elements where many different
elements would be used for increasingly narrow purposes. Fortunately
rationality prevailed before HTML turned into DocBook's kitchen sink
and we had the still-messy compromise of HTML 3.2, then 4.0.

HTML 4.0 takes a fundamentally different approach. It uses a minimal
set of elements to represent the bare topological structure of "text"
and (almost) abandons attempts to describe semantics through differing
elements. Presentation is pushed out elsewhere, into CSS. HTML 4
Strict has just enough structure to represent the robust aspects of
text structure (paragraphs, linebreaks as a distinctly different form
of break, concepts of block vs inline) but it avoids (mostly) elements

If HTML is to have powerful semantics, then you now have to add them
by annotation afterwards (URIs to RDF Schema can do this for useful
levels, but you either need to use an extra attribute or else stretch
the use of class. Interestingly this is why class was first added to
3.0, not for presentational styling). This is good, because trying to
solve all the world's semantic description problems in one widely-
shared DTD just doesn't work - look at DocBook.  If you care about
this stuff, look at DITA too (but not Dita, she's something else).

So in the philosophical shift from 3.0 to 4.0, <div> has changed its
intentional purpose and description. What began in 3.0 as an element
for defining extensible semantics shifted to merely attaching those
bits of presentation that couldn't be handled by other elements (align
etc.) in 3.2. With 4.0 it has shifted back somewhat (semantic
containment and definition when there's no other pre-defined
definition available), but mostly it's now there for semantically
anonymous structuring for purely presentational purposes - a peg on
which to hang the CSS, without having to attract and side-effect
semantic implications that mis-using <p> for that purpose might have

In HTML 3.0 we see this from February '95
  DIV can be used with the CLASS attribute to represent different
  kinds of container, e.g. chapter, section, abstract, appendix.

However only a month later they back-track in favour of the "kitchen
sink full of elements" approach

21st March '95
    Added BANNER element in place of <DIV CLASS=BANNER>

From 3.2 we have this
"It is used with the ALIGN attribute to set the text alignment of the
block elements it contains."
and div is reduced to trivially tidying up a loose end that can't be
put anywhere better.

Finally for 4.0 we have this (but best described from a footnote on
styles, not the HTML spec itself)

"The DIV element is used with the CLASS attribute to represent
different kinds of containers, e.g. chapter, section, abstract, or
appendix. DIV allows the enclosed group of elements to be given a
distinctive style. "

Semantically weak notions of grouping or containment, no strong
semantics to imply meaning, and mostly a mechanism for attaching CSS.

Site Timeline