HTML でのフレームの使用。 フレームの作成 ウィンドウの外観をカスタマイズするための Frame タグの属性
フレームとは何ですか?
サイトをより機能的にし、大量の情報やリンクを訪問者にとって最も便利な形式で配置するには、Flash テクノロジを使用する必要はまったくありません。 これはすべて、フレームを作成できる HTML 言語を使用して行うことができます。
平たく言えば、フレームは 1 つのウィンドウ内の追加のスクロール バーです。 サイトにアクセスすると、訪問者は同じページ上に 2 つのウィンドウを同時に表示します。通常、1 つはメニュー項目またはその他の重要な情報を表示し、もう 1 つはコンテンツ (テキスト、価格など) を表示します。 この場合、訪問者はかなり大量のページをより簡単に閲覧できると同時に、最も重要な情報を目の前に置くことができます。
詳細を詳しく見てみると、フレームを含むページは、一度に少なくとも 3 つの HTML ページで構成されます。ユーザーに表示される 2 つと、(フレームの表示を調整する) 1 つのサービスです。 表示可能なページは、個別または同時にアクセスできるフレームです。
間違いなく、フレームを使用する重要な利点は、高品質の使いやすさです。 ページ インターフェイスは、標準のマークアップ方法を使用する場合よりも何倍も便利になります。
5 ~ 6 年前、フレームは多くのウェブマスターの間で人気を博しました。 残念なことに、フレームにはプロモーションの点で重大な欠点があるため、今日ではフレームなしで行うことが不可能なサイトでのみ使用されています。
フレーム – 良いのか悪いのか?
ユーザーの立場、SEO スペシャリスト、ウェブマスターの立場の 3 つの立場からフレームの有用性を検討できます。
最初のケースでは、フレームに対する態度があいまいです。 一方で、これらがないとやっていけない場合もあり、他のウィンドウで開くサービス ページをうまく置き換えることもあります。 また、ユーザーはいつでも別のウィンドウでメニューを使用できるため、フレームは大きなページの使いやすさを向上させるだけです。
一方で、ページのデザインは実際には改善されません。 フレームを使用すると、見栄えを良くするのは非常に困難です。 そしてもちろん、すべてのブラウザがフレームをサポートしているわけではないため、潜在的な購入者、顧客、または単なる訪問者全体を遠ざける可能性があります。
ウェブマスターの観点から見ると、フレームを使用するとページの構成が容易になり、インターフェイスが洗練されます。 結局のところ、メニュー全体とその他の重要な情報を含む 1 ページを作成する方が、サイトのすべてのページにコンテンツを配置するよりもはるかに簡単です。 ただし、これで単純化は終わり、専門家以外が知る必要のない複雑さが始まります。 さらに、現在では純粋な HTML を扱う人はほとんどいません。CMS を使用すると、すべてを自動的に行うことができます。
SEOスペシャリストの立場ははるかに厳しいです。 フレームでは、検索ロボットがメイン ページを越えて通過することはできません。 もちろん、サイトの内部ページのインデックスを作成できるようにするいくつかのトリックはありますが、これらは依然としてどの検索エンジンにも承認されていない「トリック」です。
ウェブサイトのプロモーションにおけるフレームの影響。
Web サイト プロモーションのスペシャリストがどれほど経験豊富であっても、リソースにフレームが使用されている場合、プロモーションを保証することはできません。 残念ながら、このテクノロジーは、フラッシュ コンテンツや盗まれたコンテンツとともに、検索エンジンのプロモーションを複雑にする要素の「ブラック リスト」に含まれています。 しかし、後者についてはまだ気づいていないかもしれませんが、フレームについても同じことが言えません。
では、フレームの使用はプロモーションにどのように、またどのような影響を与えるのでしょうか?
影響は深刻です。 実際、サイトの内部ページへの重要なリンクはすべてフレーム上に配置されています。 それらを登録するために、レイアウト設計者はタグを使用する必要はありません。 …。 つまり、検索ロボットは、このタグによって、その前に別のページに移動してインデックスを付けることができるリンクがあると判断します(またはリンクの重みにさらにいくつかの「ブレッドクラム」を追加します)。
検索ロボットは、サードパーティのリソースから取得する最初のメイン ページのみにインデックスを付けます。 他のページは Yandex と Google に対して閉鎖されたままです。結局のところ、フレームがページの本当のアドレスを隠しているため、他のサイトからであってもそれらにリンクすることは不可能です。
今日では、1 つのメイン ページを効果的に宣伝することはもはや不可能です。そのページにすべてのリクエストを示すことは不可能であり、PS はそのような「概要ページ」に対してはるかに疑念を抱くでしょう。
もちろん、「伝統的な職人」は、フレームのインストール ドキュメントに内部ページへのリンクを配置することで、内部ページにインデックスを付ける方法をすでに考え出しており、フレーム ページを個別に開くことでアドレスを見つけることができます。 しかし、そのようなテクノロジーを放棄することでより多くのことを達成できるのであれば、これらすべての複雑さは必要なのでしょうか?
ブログ サイトの読者の皆さん、こんにちは。 今日はHTMLのフレームについてお話します。 最初から、つまりこれがどのような種類の動物なのかから始めることは明らかです。 また、現在のバージョンのハイパーテキスト マークアップ言語および を備えた新しい Html 5 標準におけるこれらの要素の現在 (Frame) と将来 (Iframe) についても説明します。
記事の最後では、HTML コードで組み込みフレームとその古典的な構造 (すでにほとんど使用されていません) を作成するプロセスを詳細に説明した後、それらのフレーム上にサイトを構築することの関連性について触れ、可能なことについても説明します。私のブログの例を使用して、現在の期間でそれらを使用する方法を説明します。
Iframe とは何ですか?また、Frame とどう違うのですか?
それは何ですか? これらは、Web サイトだけでなく、プログラムのあらゆるアプリケーションでも使用できることがわかりましたが、Web ページまたはアプリケーションのウィンドウがいくつかの領域に分割され、それぞれに別のドキュメントが読み込まれるという点で異なります。 。 さらに、これらのフレーム領域は互いに独立して動作します。
おそらく、ほとんどすべての人が遭遇したことがある最もわかりやすい使用例は、コンピュータにインストールされている多くのプログラムに含まれる、いわゆるヘルプ ファイルです。
ヘルプ メニューを含むファイルが左側のウィンドウにロードされ、選択したメニュー項目に対応するドキュメントが右側のウィンドウに表示されます。 この構造により、右側のウィンドウで新しいドキュメントを開いたときに、メニューを含むファイルを左側のウィンドウに再ロードする必要がないことは注目に値します。 まさにこれで構成されています フレームを使用する主な利点 HTMLで。
実際には、これらの要素の名前自体が独立したウィンドウとして解釈される必要があります。 フレームの助けを借りて、1 つの大きなウィンドウをいくつかのフラグメントに分割する機会が得られ、それぞれが互いに独立した個別のドキュメント (ページ、テキスト、画像、ビデオなど) の受信機として機能することができます。
ハイパーテキストマークアップ言語ではフレーム構造はどのように作成されるのでしょうか? 現時点で主要なものである Html 4.01 標準 (分類による) について話すと、これには Frame、Frameset、Noframes の 3 つの要素が使用されます。
Iframe - HTML 5 標準の組み込みフレーム
Html 5 標準 (私たちの将来、その一部の要素は多くのブラウザーですでにサポートされています) について話す場合、古典的なフレーム構造と同様に、Frame、Frameset、および Noframes タグは存在せず、代わりに 1 つのタグが存在します。単一の Iframe タグ (埋め込みフレーム) については最初に説明します。次に、現在実際に使用されているバージョン 4.01 の古典的なスキームに注目します。
iframe は、以下で説明する古典的なものとは異なり、Body タグを Frameset タグに置き換える必要がありません。 それらの。 このタグは、段落内などの通常のページに挿入できます。 この要素の中核は、すでに検討した Img タグと非常によく似ています。
これは、インライン要素とまったく同じように動作するため、置換可能なコンテンツを持つインライン要素ですが、表示されます。 無関係な外部コンテンツ。 HTML 言語には、そのような要素は Img、Iframe、Object、Embed の 4 つだけです。 したがって、このヒーローは、このタグの属性を使用してサイズが設定された領域にロードされる外部ファイルの存在を暗示します。
それ。 Iframe は、外部オブジェクト (ビデオなど) がロードされるシンク要素です。 また、ページにロードする必要があるこのファイルへのパスを指定するには、特別な Src 属性を使用します。 ただし、Img とは異なり、Iframe 要素はペアになっています。 終了タグもあります:
この例は、Iframe を使用した Youtube ビデオ ページの出力を示しています。 外部ファイルが読み込まれるフレーム(ウィンドウ)の領域を制限するために、属性が提供されます 幅と高さ、その値はピクセルで指定されます。
それらの。 このタグは、外部オブジェクトが読み込まれる領域を作成します (サイトからのものか、別のリソースからのものかは関係ありません)。 領域の幅と高さは、Width と Height を使用して指定され、Src 属性はこのオブジェクトへのパスを指定します。
Iframe 要素は、同様のインライン タグからこれらすべての属性を継承し、コンテンツが置き換えられました (前述の Img など)。 まあ、彼は写真から属性も取得しました Hspace と Vspaceを使用すると、フレームの境界線からフレームを囲むテキストまでのインデントを設定できます。
また、組み込みフレームの位置合わせが、Html で画像を調べたときとまったく同じ方法で実行されることも重要です。 全く同じです 整列ただし、可能な値が Bottom、Top、Middle、Left、Right である Iframe タグの場合です。
ただし、この要素は、古典的なフレーム構造の Frame タグからいくつかの属性も取得しています。これについては、本文で詳しく説明します。 これらの属性には、名前が含まれます。この値は、リンクをクリックしたときに必要なドキュメントがこのフレームのウィンドウで開くように値として使用できます (詳細は下記を参照)。
また、Iframe では、Frameborder 属性が Frame タグから移行されました。この属性には、0 (フレームの周囲のフレームが表示されない) または 1 (フレームが表示される) の 2 つの値しかありません。 デフォルト値は Frameborder=1 なので、これを削除するには Frameborder="0" と入力する必要があります。
Scrolling 属性も Frame からこの要素に転送されており、デフォルト値は Auto です。コンテンツが表示対象のウィンドウのサイズより大きい場合、必要に応じてフレーム内のスクロール バーが表示されます。
Marginwidth 属性と Marginheight 属性も Frame 要素から移動されました。 これらについては本文で詳しく説明しますが、簡単に言うと、フレームの端からそこに配置されるコンテンツまでの幅と高さのインデントを設定できます。
すでに述べたように、Iframe の使用例は次のとおりです。
Iframe を Web ページに直接挿入すると、YouTube からビデオの出力を受け取ります。 この要素は、コンテンツが置き換えられたインライン要素と、実際にはクラシック フレームとを組み合わせたものであると結論付けられます。これについては、これから説明します。
Frame タグと Frameset タグに基づくフレーム - その構造
したがって、古典的なフレーム構造の作成は、通常どのドキュメントにも存在する必要がある開始タグと終了 Body タグの代わりに Html コードを記述し、それを要素ベースのコンテナーに置き換えることから始まります。 フレームセット.
基本的なポイントは、この場合、Body 要素 (通常のドキュメントの場合) または Frameset (ドキュメント フレーム構造の作成時) のいずれも使用できないことです。
メインフレーム内に作成する各フレームは、別個の要素を使用して作成されます。 フレーム。 このタグは 1 つで、その中にこのウィンドウにロードされるドキュメントへのパスを設定します。
まだ触れていない 3 番目の要素は、 フレームなし。 これはペアになっており、内部にテキストを書き込むことができます。テキストはブラウザーによって処理され、同じブラウザー (または他の表示デバイス) がフレームをサポートしていない場合にのみ Web ページに表示されます。 これは、たとえばモバイル デバイス用のブラウザを使用している場合に発生する可能性があります。
通常、Noframes では、フレーム構造を処理できない現在の状況に関する情報が追加されるだけでなく、フレーム構造を使用せずに作業を続行できる他のページに移動する機能も追加されます。 彼についてこれ以上言うのは難しいので、続けましょう。
Body タグの代わりに使用される Frameset 要素が表示領域に割り当てられたすべてのスペースを占め、フレームは個々の Frame 要素を使用してこの領域内に作成されることがわかります。 この点で、表示領域を別々のウィンドウにどのように分割するか、言い換えれば、それぞれのウィンドウのサイズをどのように設定するかという問題が生じます。
これは、適切な属性を Frameset 要素に追加することによって行われます。 そのうちの2つがあります - 列と行。 Cols では、大きなウィンドウを垂直のフレームまたは列に分割するように設定し、Rows では水平のウィンドウまたは行に分割できます。
Frameset とその Cols 属性と Rows 属性に基づいた構造の作成
Html Frameset タグの Cols と Rows の値は、カンマ (スペースなし) で区切られた数値です。 これらの数値は、結果として取得するウィンドウの比率を設定します。 したがって、Cols または Rows にカンマ区切りの数値をいくつ書いても、結果はフレーム数になります。
たとえば、この表記法を使用すると、幅が 2:5:3 の比率に対応する 3 つの垂直列が得られます。