RE: frame elements

Hello dear Charlie, dear list members,

> -----Original Message-----
> Hello-
>
> I'm rewriting a website to be XHTML compliant, and I'm wondering
> why certain
> elements are not allowed, specifically in the <frame> or <frameset> tags,
> the framepadding or framespacing elements. They seem to display
> correctly in
> all browsers. How come they're not included in the DTD? I really want my
> frameset to display without any kind of space between frames. Any ideas?
> Reasons?
>
> Thanks,
>
> -Charlie

wether XHTML or HTML (no matter what version, be it 4.0 or 4.01), there are
no framepadding or framespacing attributes for the <frame/> or <frameset/>
elements. They never existed. They just exist in the imagination of some
browser developers, some site developers and some book authors, but they do
not follow any standard.

To get the same behaviour, add a stylesheet to your frameset including:

html, frame, frameset {
	padding:0;
	margin:0;
	border:none;
}

If that is not sufficient you might add a stylesheet to your frames
including:
html, body {
	padding:0;
	margin:0;
	border:none;
}
body is included for fixing a bug in IE: the root canvas is html, but IE
versions previous to 6.0 got it wrong, they use body as root canvas.

These style sheets are not a good example of really compliant style sheets,
they are written to be syntactically correct CSS, to work with almost all
browsers and to cause no problems with browsers that do not understand them.
But I don't guarantee for anything, especially typos etc..


I *personally* (in my humble opinion) consider frames deprecated anyway.
They were dropped in XHTML 1.1. They were not marked deprecated in XHTML
Modularization, so it still is possible to write an XHTML version including
frames, but the only XHTML 1.1 version that exists as recommendation doesn't
include the frames module.

And as far as I understand and interpret HTML/Web history, they were
included in HTML 4.0 just because nearly every browser already recognized
them. They were just a proprietary invention of Netscape. I have thought
several nights over frames, and I think there are so many better ways to
implement them, especially using style sheets and DOM.


Basically it is easily possible to achieve the same desired optical effects
using style sheets and the same (technical / infrastructural) design and
transmission efficiency using XSLT, even without DOM. But as long as MS
doesn't understand how to implement CSS correctly, this is a different
story.


If something sounds too strange to you and you desire more and deeper
explanation, feel free to reply to this mail and ask your questions, as you
see, you're welcome :)


Greetings

Christian

Received on Monday, 10 December 2001 17:19:06 UTC