ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5 標準学習 - 入門

HTML5 標準学習 - 入門

黄舟
黄舟オリジナル
2017-03-27 15:33:141377ブラウズ

フロントエンド グループは最近非常に活発ですが、議論のほとんどは javascript に関連する問題についてのものであることがわかりました。誰もがさまざまなインタラクションやスタイルを一生懸命作成していると、HTML

という基礎を忘れてしまいます。実際、私は HTML が XML よりもはるかに興味深い言語だと思います。極端に標準化された XML に比べてはるかに柔軟で軽量であると同時に、HTML の範囲が非常に狭いため、指定できるタグが限られており、一長一短があるとは言えません。 HTML には独自の確実性があります。

このシリーズの最初の部分では、HTML5 の 基本概念 と、次のことを説明します。 CSS についてはまったく取り上げません

  • HTML のみに焦点を当て、XHTML について簡単に説明しますが、詳しくは説明しません。これは、XHTML がブラウザの解析に関して HTML よりも厳しい仕様であるためであると考えられます。

  • は主に whatwg の公式ドキュメントを参照し、既存の主流のブラウザーの互換性を分析します

  • この概要には、ドキュメントの解析などの実装の詳細は含まれません。 、DOM ツリーの構築、およびスクリプトの実行

  • この後、スクリプトの解析、実行、その他のトピックなど、ブラウザの操作に関連するいくつかの技術的な詳細について説明します

    。 HTMLは開始タグや終了タグ​​が気軽に省略できて不規則すぎるので不快だと感じている方に、このシリーズではHTMLのタグ省略には非常に厳しいルールがあることをお伝えします…
。 HTML は単純で、XML と同じように記述できると考えている場合、この連載では、ブラウザごとに考慮しなくても、HTML には罠がたくさんあることを説明します。この地雷原を安全に通過することはできないかもしれません...

このシリーズを始める前に、いくつかの非常に重要な概念を紹介する必要があります。詳細については、「用語」の章を参照してください。ただし、それらのいくつかはリファレンス マニュアルで広く引用されていません。理解する意味があるのはそのほんの一部だけです:

コンテキストの閲覧 - コンテキストの閲覧

  • は、まさに私たちが通常目にするページです。閲覧コンテキストは、HTML が解析され、CSS スタイルが構築される環境です。

    一般的に、私たちが最も頻繁に接触するコンテキストは次のとおりです。
  • ブラウザ ウィンドウ。 、IE6 ウィンドウなど

    • マルチタブ ブラウザのタブ、これは Firefox、Chrome、およびその他のブラウザで行われることです

    • <iframe> 要素も同様です。独立した閲覧コンテキスト。

    • フレームセットでは、<frame> 要素も独立した閲覧コンテキストを形成します。

      <iframe>元素也是一个独立的浏览上下文。

    • 在frameset中,一个<frame>元素也会形成一个独立的浏览上下文。

  • 换行 - new line

  • 和计算机基础课程所学的一样,HTML定义了3种类型的换行符:

    不同的系统有其默认的换行输出,HTML的规定保证浏览器能正确解析现在主流的3种换行方式。

    • 字符U+000D,即r字符。

    • 字符U+000A,即n字符。

    • 字符U+000D后跟着U+000A,即rn字符串。

  • 空格 - space

  • 空格在HTML中有着非常重要的作用,如一个元素的各属性之间可以通过空格分隔。正常情况下,开发人员会按一下空格键来输入一个空格,当属性很多的时候,可能使用回车来将属性更好地排列起来。但是大概很少有人会去思考,为什么回车的效果和空格是一样的,HTML还能解析哪一些字符作为空格呢?

    关于空格的问题,其中jQuery也犯过这个问题,甚至至今都存在这个问题。在jQuery 1.5.1的第1738行定义了一个正则表达式/[ntr]/g,用于通过空格来分隔元素的class属性。在1.4.4版本中,这个正则是/[nt]/g

改行 - 新しい行


    基本的なコンピューターコースで学んだように、HTML では 3 種類の改行が定義されています:
    • システムごとにデフォルトの改行出力があり、HTML の規制により、ブラウザーが改行を正しく解析できるようになります。現在の主流の改行は 3 つあります。

    • 文字 U+000D、これは r 文字です。

    • 文字 U+000A、n 文字です。

    • 文字 U+000D の後には、rn 文字列である U+000A が続きます。

    • スペース - スペース
🎜スペースは、HTML において非常に重要な役割を果たします。たとえば、要素の属性はスペースで区切られます。通常の状況では、開発者はスペースバーを押してスペースを入力します。属性が多い場合は、Enter キーを使用して属性を配置することができます。しかし、おそらく、キャリッジ リターンの効果がスペースの効果と同じである理由を考える人はほとんどいないでしょう。HTML では他にどのような文字がスペースとして解析できるのでしょうか。 🎜🎜 スペースの問題に関しては、jQuery もこの問題をコミットしており、現在でも存在しています。 jQuery 1.5.1 の 1738 行目では、要素のクラス属性をスペースで区切るために使用される正規表現 /[ntr]/g が定義されています。バージョン 1.4.4 では、この正規表現は /[nt]/g であり、明らかに r が欠落しています。このバグ項目はこの問題を示しています。もちろん、バージョン 1.5.1 がまだ標準のすべてのスペース文字を処理していないこと、つまり U+000C の改ページを処理していないことは残念です。 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜文字 U+0020 は通常の空間です。 🎜🎜🎜🎜文字 U+0009 は、t 水平タブ文字です。 🎜🎜🎜🎜文字 U+000A は n 改行文字です。 🎜🎜🎜🎜文字 U+000D は、r キャリッジ リターン文字です。 🎜🎜🎜🎜文字 U+000C、これはめったに見られない改ページです。 🎜🎜🎜🎜

以上がHTML5 標準学習 - 入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。