Seamless

J

Jeff Thies

I see that there is a seamless property for iframes. CanIuse is
silent on this.

What level of support is there. I rarely use iframes what is the
current correct method to hide frame borders?

Jeff
 
G

Gus Richter

I see that there is a seamless property for iframes. CanIuse is
silent on this.
What level of support is there.

The seamless attribute [HTML5 only] renders the browsing context in a
manner that makes it appear to be part of the containing document
(seamlessly included in the parent document). The living HTML5 document
shows that it is "ready for first implementation", hence yet unsupported
- caniuse therefore does not mention it.
I rarely use iframes what is the
current correct method to hide frame borders?

border-style:none;
 
D

dorayme

Jeff Thies said:
I see that there is a seamless property for iframes. CanIuse is
silent on this.

What level of support is there. I rarely use iframes what is the
current correct method to hide frame borders?


It is not trustworthy yet. See for yourself:

<!DOCTYPE html>
<html>
<head>
<title>A simple frameset document</title>
</head>
<body>
<iframe src="foo.html" width="400" height="500" scrolling="auto"
frameborder="0"></iframe> &nbsp; <iframe src="foo.html" width="400"
height="500" scrolling="auto" seamless="seamless"></iframe>
</body>
</html>
 
J

Jukka K. Korpela

I see that there is a seamless property for iframes. CanIuse is
silent on this.

What level of support is there.

Close to none. Quoting and paraphrasing myself and others at
http://stackoverflow.com/questions/4804604/html5-iframe-seamless-attribute :

Mostly, no support.

The support in Chrome (tested on 31 beta) is only for the removal of the
default borders. The scrollbars are there, the size does not adapt to
the requirements of the content, links open inside the inline frame,
etc. So only the most trivial part of seamless as currently defined is
supported, the part that can easily be handled with CSS or with the
frameborder attribute.

Support is said to exist in Safari 7 (but not 6), but I cannot confirm
this, as Safari 7 is available for Mac only.
I rarely use iframes what is the
current correct method to hide frame borders?

"Correct" as per W3C recommendations is to use a CSS rule like
iframe { border: none }
In practice, the frameborder=0 attribute works a little more often (due
to the usual CSS Caveats).
 
G

Gus Richter

Not all true with border Gus
look at
< Message-ID:<[email protected]> >

Excuse me but I've messed up my Thunderbird in that I cannot link to a
message ID - you would do better to quote or link to a web page. So,
since I don't know what you are referring to, I will review what I
believe to be pertinent:

frameborder=0 attribute is good if you are worried about a client
without CSS support - I don't.
BTW, the HTML5 "Living Standard" does not include frameborder as an
attribute for iframe and therefore, by omission, suggests to use CSS
instead. That said, and due to legacy support, frameborder works.

border-style:none; is the 'shorthand' property 1-4 border 'style'
values (top, right, bottom, left).

border:none; is the 'shorthand' property for border 'width', 'style'
and 'color' values.

All three above work and you may use your poison.
 
J

Jukka K. Korpela

frameborder=0 attribute is good if you are worried about a client
without CSS support - I don't.

It works just as well even if you are not worried.
BTW, the HTML5 "Living Standard" does not include frameborder as an
attribute for iframe

First, "Living Standard" is an oxymoron if there is one. A document that
may and will change daily without notice and without a real change log
can hardly be a standard, whatever its merits might be.

Second, it describes (well, at least right now), as "suggested
rendering" (i.e., browsers are nor required to obey this, but they do),
the attribute by specifying its effect:

iframe[frameborder=0], iframe[frameborder=no i] { border: none; }

http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#phrasing-content-1
and therefore, by omission, suggests to use CSS
instead.

It suggests that explicitly, at
http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#non-conforming-features

It also declares the attribute as obsolete, nonconforming, forbidden,
cursed, anathema... oops I made some of that up, but that's the tone.
This, on the other hand, is just some people telling what other people
should do as authors. Like telling them to use their right hand when
typing code, because the left hand is unholy.

None of the arguments against "presentational attributes", arguments
that people keep repeating like repeaters, makes sense in the case of
frameborder. The only one that comes close to making sense is the very
theoretical idea that the attribute mixes presentation with content and
structure. But people who preach against presentational attributes use,
at least in real life, attributes like class="noborder". They are just
as presentational, except that their effect is indirect and more
difficult to see, i.e. they obscure the code more than the
"presentational" attribute does. Using style="border: none" is more
direct, but the style attribute is (for good reasons, actually) frowned
upon by people who write the "standards", and of course it is very much
presentational.

If the development of HTML "standards" were a bit more rational, the
"standards" would say that there are some attributes that are used to
affect rendering, with no other defined meaning, and that such
attributes will not be added any more. And they would add that CSS has a
rich and increasing set of presentational features, please use them,
with the usual CSS caveats.
That said, and due to legacy support, frameborder works.

It does.
border-style:none; is the 'shorthand' property 1-4 border 'style'
values (top, right, bottom, left).

border:none; is the 'shorthand' property for border 'width', 'style'
and 'color' values.

All three above work and you may use your poison.

The frameborder attribute additionally works even when CSS support is
disabled or the CSS file is lost in transmission.
 
G

Gus Richter

It works just as well even if you are not worried.

Such valuable information. Thank you for that contribution.

.... and therefore, by omission, suggests to use CSS instead. That said,
and due to legacy support, frameborder works.

You omitted this part in order to hide the fact that you missed my
mention of "legacy support" in order that you could repeat in your words
what I wrote.
Second, it describes (well, at least right now), as "suggested
rendering" (i.e., browsers are nor required to obey this, but they do),
the attribute by specifying its effect:

iframe[frameborder=0], iframe[frameborder=no i] { border: none; }
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#phrasing-content-1

Actually the link should be:

Thank you for the confirmation.

Thank you for the confirmation.
The frameborder attribute additionally works even when CSS support is
disabled or the CSS file is lost in transmission.

Of course it works, as I said. It is an HTML attribute and not CSS.
 
G

Gus Richter

YES
frameborder attribute additionally works even when CSS support is disabled

Of course it works since it is an HTML attribute and not CSS.
IF CSS IS IN The HTML Code Like THIS
<iframe style="border: 0px; bottom: 0%; clear: none; position: relative; zoom: 75%" frameborder="0" scrolling="auto"
src="http://dorayme.netweaver.com.au/fixedHeaders/contentTopMargining.html" width="99.09%" align="top"></iframe>

Not only if you use inline styling, but also if you place the rules in a
stylesheet. HTML attributes function even if CSS is disabled, uses
inline styles or stylesheet.
 
R

richard

It is not trustworthy yet. See for yourself:

<!DOCTYPE html>
<html>
<head>
<title>A simple frameset document</title>
</head>
<body>
<iframe src="foo.html" width="400" height="500" scrolling="auto"
frameborder="0"></iframe> &nbsp; <iframe src="foo.html" width="400"
height="500" scrolling="auto" seamless="seamless"></iframe>
</body>
</html>

That is totally outdated code.
Use CSS instead.

<iframe style="width:500px; height:500px; border:none;">

If you have to have scrolling, then a border will show up and negate the
seamless effect.
 
R

richard

I see that there is a seamless property for iframes. CanIuse is
silent on this.

What level of support is there. I rarely use iframes what is the
current correct method to hide frame borders?

Jeff

working example:
www.mroldies.net

where's the iframe?
Unless you lokk at the source code, you don't know it's there.
 
D

dorayme

richard said:
That is totally outdated code.

Outdated like bad milk, meat, fish? Outdated like jeans that flare?
Use CSS instead.

Instead? Why not in addition?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>A frameset document tester</title>
</head>
<body>
<iframe src="http://www.mroldies.net" width="300" height="500"
scrolling="auto"
frameborder="0"></iframe> &nbsp; <iframe style="width: 400px;
height:500px; border: none;" src="http://www.mroldies.net"
scrolling="auto"></iframe> &nbsp; <iframe
src="http://www.mroldies.net" width="300" height="500"
scrolling="auto" seamless="seamless"></iframe>
</body>
</html>

It's a tester to do research on your browsers. When you have used it
Richard, please report back on whether it is like off milk, how fuddy
duddy browsers are, how it behaves with CSS off, with cheese gone off,
and any other things you care to expound on.
 
R

richard

Outdated like bad milk, meat, fish? Outdated like jeans that flare?


Instead? Why not in addition?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>A frameset document tester</title>
</head>
<body>
<iframe src="http://www.mroldies.net" width="300" height="500"
scrolling="auto"
frameborder="0"></iframe> &nbsp; <iframe style="width: 400px;
height:500px; border: none;" src="http://www.mroldies.net"
scrolling="auto"></iframe> &nbsp; <iframe
src="http://www.mroldies.net" width="300" height="500"
scrolling="auto" seamless="seamless"></iframe>
</body>
</html>

It's a tester to do research on your browsers. When you have used it
Richard, please report back on whether it is like off milk, how fuddy
duddy browsers are, how it behaves with CSS off, with cheese gone off,
and any other things you care to expound on.

IMO, only extremely ancient browsers would not respond to css.
The vast majority of users probably don't even know that you can turn off
styles in some browsers.
Like with Javascript, most poeple do not turn it off. Ever.

As you know, or should know, the use of such attributes as width and height
in the old manner, is highly frowned upon, and the validator may reject it.

Now try your "seamless" in an html 4 document and I'll bet that it gets
rejected.
With many people still using XP and Vista, those versions of IE won't even
know what to do with it.
But does work with css.
 
D

dorayme

richard said:
.

IMO, only extremely ancient browsers would not respond to css.
The vast majority of users probably don't even know that you can turn off
styles in some browsers.
Like with Javascript, most poeple do not turn it off. Ever.

As you know, or should know, the use of such attributes as width and height
in the old manner, is highly frowned upon, and the validator may reject it.

Now try your "seamless" in an html 4 document and I'll bet that it gets
rejected.
With many people still using XP and Vista, those versions of IE won't even
know what to do with it.
But does work with css.

Please try the markup I offered and report back your comprehensive
findings in all the browsers you have. You seem to mistakenly think my
markup *recommends* some one particular way of marking up and CSSing,
it does not, it is about helping fisherman.

Thank you for your attention to this matter, and as Luigi might say,
"Have a nice day".
 
S

se

richard said:
He maybe right, but styling with css is preferred.

"but styling with css is preferred"
You're right in this. Running doctype HTML5 through validator.w3.org/
declares frameborder as obsolete, and urges to use css.

/se
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top