この記事では、HTML5 タグをサポートしていない互換性のある IE678 の問題を解決するためのいくつかの方法を主に紹介します。必要な友人に参考にしてください。
HTML5 の時代が到来しました。 HTML5 と CSS3 テクノロジーを習得すべきかどうかまだ迷っている場合は、自分の口を数回叩いてから、一生懸命勉強してください。 html5タグをサポートしていないIE678との互換性の問題を解決するためのいくつかの方法を見てみましょう。
html5が普及する時代が到来しました。まだブラウザーの互換性を待っている場合は、すでに Web に慣れていないことを意味します。もちろん、これはモバイル クライアントの開発が急成長しているためです。 HTML5 と CSS3 テクノロジーを習得すべきかどうかまだ迷っている場合は、自分の口を数回叩いてから、一生懸命勉強してください。フロントエンドのスプリングが到着しており、スプリングが複数あるためです。信じられないなら、私は「信じるか信じないか」としか言えません。
標準の html5 タグ構造を見てみましょう: (ここではタグについてだけ話します。他には何も関係しません)
コードをコピーします
コードは次のとおりです:
<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>html5</title> </head> <body> <header> <nav></nav> </header> <article> <section> <h2></h2> <p></p> </section> </article> <footer></footer> </body> </html>
html5 タグの進歩はもちろん、そのセマンティクスはより直感的になっています。もちろん、これは html5 の進歩のほんの一滴にすぎず、「html5 の進歩は革新的だ、とは言わないでください。発展的なものです。」と言う人もいます。私はこの意見に同意しませんが、ある意味では確かに革命的です。ここでは本題から逸れるつもりはありませんが、ラベルについてだけ話しましょう。
もちろん、このような素晴らしいセマンティック タグに興奮しているときでも、「IE はそれをサポートしていますか?」と尋ねる必要があります。残念ながら、答えはノーです。すでに IE を怖がっている場合は、その終わりのない拷問に耐え続ける必要があります。 (IE9 と IE10 はすでに HTML5 と CSS3.0 と互換性があります)
しかし、あなたは幸運でなければなりません、あなたが住んでいるこの時代には多くの天才がいます。誰かがすでにこの問題を解決しています。とはいえ、完璧とは言えません!
IE678 が HTML5 タグをサポートしていない問題を解決するいくつかの方法を見てみましょう:
1. javascript: document.createElenment("...")
IE678 が HTML5 タグをサポートしない理由の 1 つは次のとおりです。フッターが有効な HTML タグであるとはみなされません。だったらそれをレーベルに「作ってしまえば」いいんじゃないでしょうか?最も直接的な方法は、もちろん、javascript を使用して作成することです: document.createElenment("...")
コードをコピーします
コードは次のとおりです:
(function(){ var element=['header','footer','article','aside','section','nav','menu','hgroup','details','dialog','figure','figcaption'], len=element.length; while(len--){ document.createElement(element[i]) } })();
いくつかの一般的な html5 タグを作成するだけで、IE678 でタグにできるようになります。
誰かがすでに完全な js ファイルを書いているので、次のようにインポートするだけです:
<!--[if lt ie 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> 也有写作 <!--[if lte IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> < ![endif]-->html5shiv和html5shim的区别只有"m"和"v",没有其它区别!当然这不是我说的。原文是:...the only difference is that "one has an m and one has a v - that's it."
ここでの特別な注意: これは IE 独自のコメント判定です:
lte: Less than orequal to を意味します。略語は Less を意味します。以上。
lt:Less than の略で、未満という意味です。
gte:Greater than orequal toの略で、以上という意味です。
gt: Greater than の略で、「より大きい」という意味です。
!: 等しくないという意味で、JavaScript の等しくない判定文字と同じです。
IE9 は html5 タグをサポートしていますが、サポートが完全ではないため、選択次第で「lte」と書くこともできます。
もちろん、新しいラベルの表示属性を指定することを忘れないでください。ほとんどの場合、ラベルをブロックにします:
コードをコピーします
コードは次のとおりです:
header,footer,article,aside,section,nav,menu,hgroup,details,dialog,figure,figcaption{display:block}
2. ラベルをネストする方法
実際、単刀直入に言うと、セマンティックなhtml5タグ内にpとその他の利用可能なタグを埋め込んで、pのスタイルのみを記述することになります。 。タグにセマンティック ID またはクラスを与える方が良いです
コードをコピーします
コードは次のとおりです:
<!--[if lt IE 9]> <style> body > * .section { color: #ff0; } </style> <![endif]--> <style> section .section { color: #f00; } </style> <section><p class="section">内容测试...</p></section>
ただし、これに似た構造がある場合は役に立ちません:
コードをコピーします
コードは次のとおりです:
<nav > <ul class="test"> <li></li> <li></li> <li></li> </ul> </nav>
3. IEの条件付きコメント
コードをコピーします
コードは次のとおりです。
<!--[if lt IE 9]><p class="section"><![endif]--> <!--[if IE 9]><section class="section"><![endif]--> <!--[if !IE]><!--><section class="section"><!--<![endif]--> ...... <!--[if lt IE 9]></p><![endif]--> <!--[if IE 9]></section><![endif]--> <!--[if !IE]><!--></section><!--<![endif]-->
再看一遍IE特有的注释判断:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判断符相同
相信大家都明白,这是怎么回事!这是一个更加蛋疼的办法!大量的html代码使原本想语义化的代码更加混乱不堪。而且要对样式的书写也不利。
4、使用xmlns定义文档的命我空间
xmlns即是XHTML namespace的缩写,也就是所谓的“命名空间”。与DOCTYPE声明一样,xmlns也属于一种声明。与HTML文档中仍然存在DOCTYPE声明不一样的是,在HTML文档是不存在xmlns的,我们平常所见到的xmlns都是出现在XHTML文档中的。
这是xhtml原有的命名空间,到了html5以后被简化了,。
来自Elco Klingen日志的方法一开始引起了广泛的关注。该技术包含了一个XML形式的命名空间,并使用了含有namespace前缀的元素,例如:
复制代码
代码如下:
<!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:html5="http://www.w3.org/html5/"> <body> <html5:section> <!-- content --> </html5:section> </body> </html>
:html5这个前缀并不是一个标准的写法,你也可以用其它字符代替:hl5也是可以的。有了前缀之后,IE会识别新的元素,从而可以应用样式。在其他浏览器中一样有效,那么最后,你就成功地在各个浏览器中构建了一样的元素和一样的样式。
这个方法很明显有个缺陷:你必须在HTML文档中使用XML格式的命名空间,同样,你也需要在css中这么做:
复制代码
代码如下:
html5\:section { display: block; }
那么对js的兼容性如何呢?下面是个测试deml
复制代码
代码如下:
<!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:html5="http://www.w3.org/html5/"> <head> <title>;html5</title> <meta charset="gb2312"> <style> html5\:section { display: block; width:100px; height:50px; background:#f00; border: 1px solid blue; color: #ff0; } </style> <script> window.onload = function(){ alert(document.getElementById("test").innerHTML + "---id") alert(document.getElementsByTagName("section")[0].innerHTML + "---TagName") alert(document.getElementsByTagName("SECTION")[0].innerHTML + "---大写") } </script> </head> <body> <html5:section id="test">内容</html5:section> </body> </html>
测试结果,IE6\7\8均测试通过,但fixfox和chrome里只有id能获取到,所以这种方法同样不是一个可取的方法!
以上がIE6/7/8との互換性がhtml5タグをサポートしていない問題を解決するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック



