HTML5ドキュメントにiframeがあります。検証すると、の属性iframe frameBorderが廃止され、代わりにCSSを使用するというエラーが表示されます。
frameBorder="0"IEで境界線を取り除く方法を理解する唯一の方法だったので、ここにこの属性border:none;があります。運が悪かったので、CSSで試しました。これを修正するための準拠した方法はありますか?
ありがとう。
HTML5ドキュメントにiframeがあります。検証すると、の属性iframe frameBorderが廃止され、代わりにCSSを使用するというエラーが表示されます。
frameBorder="0"IEで境界線を取り除く方法を理解する唯一の方法だったので、ここにこの属性border:none;があります。運が悪かったので、CSSで試しました。これを修正するための準拠した方法はありますか?
ありがとう。
回答:
HTML 5は、frameborder、scrolling、marginwidth、marginheight(HTML 4.01でサポートされていた)などの属性をサポートしていません。代わりに、HTML5仕様ではシームレス属性が導入されています。シームレス属性を使用すると、インラインフレームを、含まれているドキュメントの一部としてレンダリングされているように見せることができます。たとえば、境界線とスクロールバーは表示されません。
frameborderHTML5以降廃止値
1(デフォルト)は、このフレームの周囲に境界線を描画します。この値0はこのフレームの周囲の境界線を削除しますが、代わりにCSSプロパティborderを使用して境界線を制御する必要があります。
上記の引用が言うように、CSSで境界線を削除する必要があります。
インライン(style="border: none;")またはスタイルシート(iframe { border: none; })のいずれか。
そうは言っても、を使用しないiframeプロバイダーは1つもないようframeborder="0"です。YouTubeでさえ、この属性を引き続き使用し、frameborderがサポートされなくなった場合にiframeを下位互換性のあるものにするためのstyle属性も提供していません。属性はすぐにはどこにも行かないと言っても過言ではありません。これにより、3つのオプションが残ります。
frameborderそれが機能することを確認するために、使用し続けてください(今のところ)この10年前の答えの以前の状態について:
このseamless属性は非常に短い間サポートされているため(または一部のブラウザーではまったくサポートされていないため)、MDNはこの属性を非推奨の機能としてリストしていません。それを使用しないでください、そして以下のコメントによって混乱しないでください。
border-width: 0px;、これはクロスブラウザとの互換性がないのではないかと思いiframesます。 seamlessまだすべてのブラウザでサポートされているわけではありません!これは、受け入れる必要がある数少ないHTML5の問題の1つです。frameborder="0"検証で使用して地獄!
seamlessHTML5仕様から削除されたため、サポートされることはありません。@ForTheWatchの答えは今や最高です。
border-width: 0pxTBH。 border: none;動作しないでしょう。
I test for the crappy browsers, because if it works in them, than it is almost sure to work in the others.ナイーブな私の神。アプリがブラウザで動作することを確認したい場合は、そのブラウザでプレーンかつシンプルにテストする必要があります。保証はなく、癖だけです。
seamlessこれが唯一の正解であるスペックから削除されました
このframeborder属性はIEにのみ必要なので、バリデーターを回避する別の方法があります。これは、JavascriptやDOM操作を必要としない軽量の方法です。
<!--[if IE]>
<iframe src="source" frameborder="0">?</iframe>
<![endif]-->
<!--[if !IE]>-->
<iframe src="source" style="border:none">?</iframe>
<!-- <![endif]-->
frameBorder="0"インラインフレームの周囲に境界線を付けたくない場合は、使い続けるのが最善です。
frame、framesetではなく、についてiframeです。この属性はiframe要素で廃止されました。w3.org/TR/html5/obsolete.html#attr-iframe-frameborder
XHTMLでターゲット属性を固定することにより、Javascriptでバリデーターを「だます」ためのテクニックに同じものを使用するのはどう<a onclick="this.target='_blank'">ですか?
<iframe onload = " this.frameborder='0' " src="menu.html" id="menu"> </iframe>
またはgetElementsByTagName]("iframe")1ページ上のすべてのiframeにこの属性を追加しますか?
9未満のIEでは何も機能していないことを意味する何かをしたので、これをテストしていません!:)それで私がそれを整理している間... :)
style="border:none; scrolling:no; frameborder:0; marginheight:0; marginwidth:0; "