7

<div>s :、<article>など<product>の代わりにいくつかのセマンティック[X] HTMLタグを使用したいと思います<footer>。それらのいくつかは、今後のHTML5ですでに提示されていますが、完全にはサポートされていません。

レンダリング時に直面する可能性のある短所はどれですか?CSS、JSを使用していますか?

私が覚えているのは、IE6は知らないタグ​​を複製できないということです。

4

5 に答える 5

7

次のJavaScript修正を追加すると、カスタムHTML5タグがIEで機能するようになります。実際、私が試した他のすべてのブラウザで動作します。HTML5を使用してWebサイトを構築しましたが、IE6&7では見栄えがよくありませんが、それでも機能します。テンプレートヘッダーに配置するコードは次のとおりです。

<!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <style type="text/css"> .clear { zoom: 1;display: block;} </style> <![endif]-->

HTML5タグを使用すると、セマンティックな性質により、CSSを使用した制御が向上します。タグを正しく使用すると理解しやすくなるため、実際にはサイトの作成がはるかに簡単になります。

適切なIDとクラスがあれば、それでもセマンティックであるため、どこでもdivを使用することは問題ありませんが、HTML5タグを使用すると、ページ構造をはるかに高速に認識できます。

于 2010-06-17T16:27:04.857 に答える
3

質問は「クローン作成」に言及しているので、IE6がカスタム要素をスタイルできるかどうか(できるかどうか)は、IE6がカスタム要素を管理できない場合にJSを使用してカスタム要素をクローンすることを意図しているかどうかは実際には問題ではありません(私はそうしません)知っている)。

カスタム要素のスタイルを設定するだけのアイデアであれば、すべてのブラウザでそれを実行できます。IE6のため、カスタム要素に名前空間を設定して<prefix:custom />し、HTML要素に名前空間を指定して<html xmlns:prefix = "http:// domain/path">にする必要があります。

すべてのブラウザですべてを正確に実行するには(Javascriptがカスタム要素を取得するため)、カスタムDTDも提供する必要があります。これにより、カスタム要素の名前空間が一貫して機能するようになります。<!DOCTYPE html SYSTEM "http:// domain / path / custom.dtd ">次に、DTDを記述します。これは残念ながら簡単ではなく、置き換えるHTMLDTDの完全な置換を含める必要があります。

したがって、カスタムDTDを適用し、カスタム名前空間を指定し、カスタム要素を適用した後、それらは任意のブラウザーでスタイル設定できるため、<style> prefix \:custom {background:red;}</style>になります。

これはすべてのブラウザで一貫して機能しますが、価値については議論の余地があります。これにより、名前空間によって明確に描写され、カスケードによるスタイリングの汚染のリスクがなく、div-itisを回避する要素で、一貫した意味のあるマークアップを使用できます。

It is however a bit of a ghetto in web developement involving complexity that may not be sufficiently rewarded.

于 2010-12-28T01:29:11.037 に答える
2

JSを使用してIE6にHTML5タグを「認識」させたとしても、IE 6ではそのようなタグをネストできないため、問題が発生します。

一方、Webページがアプリケーション指向ではなく、純粋にプレゼンテーション用である場合は、スタイルを設定したプレーンな古いXMLを使用することもできます。これは、ページを作成する従来の方法とは少し異なりますが、XML用語では、「古い」または「新しい」タグはありません。

スタイル付きXMLの例として、このページ( http://feeds.feedburner.com/blogspot/MKuf(Googleのブログフィード))を参照してください。JSとDOMAPIも同様に機能します。

于 2010-06-18T07:49:46.777 に答える
2

これはあなたの質問を完全に物語っているわけではありませんが<product>、コンピュータに関する限り意味論的ではありません。

人間はそれを読んで、「ああ、これは製品でなければならない。これは、このショッピングWebサイトのコンテキストでは、私が購入できるものを意味するため、mathoverflowの場合のように「数量を乗算して得られる数量」を意味するわけではありません。 .com」。これは、コードを読む人間にとって本当に便利なので、その意味で意味論的です。

しかし、HTMLに関する限り、コンピューターがページを解析している限り(または、コードを読み取る代わりにブラウザーでHTMLページを表示している人間)、それは単なる未知のタグであり、したがって、有用なデフォルトのスタイルを取得しません(<p>タグ。画面上で読みやすくするために十分なマージンがあります)または動作(属性<a>を指定するとクリック可能になるタグとは異なりhrefます)。

コンピューターは、HTML5などの仕様を介して、タグの意味に人々が同意した場合にのみセマンティクスを取得します。

于 2010-06-18T13:29:14.890 に答える
1

非常に限られたブラウザのセットを開発しているのでない限り、これは悪い考えのように聞こえます。古いブラウザでまったく機能する場合は、うまく機能しません。すべての一般的なブラウザから優れたHTML5サポートが期待できるようになるまでには何年もかかるでしょう。

于 2010-06-17T16:20:37.747 に答える