Re: Empty <div> tags

* Charles Reitzel wrote:
>Thanks for your input.  Björn, can you weigh in on empty elements with 
>attributes?  Are they prunable or no?

It's most likely that empty non-empty non-replaced elements (br is an
empty element, object is a replaced element) are used to control the
presentation of the document. Using elements that way is bad practise
and in general I think Tidy should remove or replace them, independently
of whether they have some attributes specified. There are some
exceptions like <td>, <a name='...'>, maybe <li> and <dd> and probably
others. However, removing them might cause problems as in the example
Liam provided. For <p> Tidy has a --drop-empty-paras option to control
removal of empty <p> elements,

  <div>...<p></p>...</div>

Will be cleaned to 

  <div>......</div>

or

  <div>...<br><br>...</div>

depending of the value given for the mentioned option. Using something
similar in a more general fashion, i.e., for all empty elements, but
changing

<div>...<div style="
  position:         absolute;
  top:              168px;
  left:             0px;
  width:            729px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #000000;">...</div>

to

<div>...<br><br>...</div>

will not help Charlie (while it deals with Liam's case). The most easy
solution would be a new config option

  empty-elements: auto | keep

Where 'auto' is the current behaivour and 'keep' keeps all empty
elements (what about <p> and conflict resolution with
--drop-empty-paras?). The desired behaivour for 'auto' in cases like
<abbr title=''></abbr> or <div>...<div></div>...</div> probably needs
some discussion. 

>Also, I find it very curious that you can use a DIV to position objects not 
>contained within.

You can't.

Received on Tuesday, 17 December 2002 00:34:23 UTC