• ベストアンサー

フレームがくずれる

今までIE6を使っていたのですが、FireFoxを使い始めました。 FireFoxを使うと、テーブルやインラインフレームの表示が乱れることを初めて知りました。 私もサイトを公開しているのですが、HTMLなどを操作してインラインフレームなどが乱れないようにする方法はないでしょうか。 また、「HTML 互換」などをキーワードに自分で調べたところ「ドキュメントタイプ宣言」というものを知ったのですが、これを使えばインラインフレームなどの乱れを防ぐことはできるのでしょうか。 よろしければドキュメントタイプ宣言がどういうものなのかも説明していただけると助かります。

noname#232677
noname#232677
  • HTML
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.3

> 乱れはブラウザの文法解釈の違いによって起こるものだということをはじめてしりました。 「文法解釈の違い」というより、"文法が間違っているのだから"「乱れて当然」のものが、IEでは「乱れてくれない」という事が多々ある、と思っておいた方が宜しいです。とにかくIEはブラウザ界の問題児なのですよ。そのくせ圧倒的シェアを誇るものですから、悩ましいのです。 > 文法ミスのチェックはどのように行えばよいのでしょうか。お薦めのサイトなどを教えていただければと思います。 「文法」のチェック・採点だけなら下記が最強だと思います。非常に有名且つ歴史のあるサイトです。 http://htmllint.itc.keio.ac.jp/htmllint/htmllint.html 大親分のW3CのサイトにもValidatorがあります。ただし英語ですが。 http://validator.w3.org/

noname#232677
質問者

補足

サイトの紹介、ありがとうございました。 解析してみた結果、ミスが沢山ありました。 難しそうですがこれをもとに修正を頑張ってみます。 ところでちょっと本題とずれるのですが、firefoxで正常に表示されればどのブラウザでも正常に表示されるものなのでしょうか。 それとも、firefoxで正常に表示されても他のブラウザでは乱れるということは頻繁に起こりうるのでしょうか。 本題と関係のない質問で申し訳ないのですが、ご回答をいただけるとありがたいです。

その他の回答 (3)

  • abril
  • ベストアンサー率69% (388/560)
回答No.4

> ところでちょっと本題とずれるのですが、firefoxで正常に表示されればどのブラウザでも正常に表示されるものなのでしょうか。 > それとも、firefoxで正常に表示されても他のブラウザでは乱れるということは頻繁に起こりうるのでしょうか。 対IEほど「頻繁」ではないですが、Firefoxと他の主要モダンブラウザでの表示結果においても、それぞれのブラウザの仕様に準じて解釈が変わる事は、ケースバイケースであります。(X)HTMLでのマークアップに関しては(解釈ゆるゆるのIE以外)あまり差はないと思いますが、主にそういった違いはCSSでの指定の組み合わせにおいて起こったりします。あと、JavaScriptなどでも環境によって挙動が違ったりすることはあります。こういった事は、とにかくそれぞれの仕様を理解し数をこなし経験を積む事で対応策を身につけて行くしかありません。 制作者は複数のメジャーなブラウザでもほぼ支障なく見える様に作成を心がける様にしています。閲覧者の環境はブラウザ+OS+それぞれのヴァージョン、という組み合わせだけでも結構な数になってしまうのですが、全環境をカバーするのは実質無理(例えば極端な話10年前のヴァージョンのブラウザへの対応までしていたのでは現実的ではない)なので、まあそこそこ主流かと思われる環境を想定するに留まりますが(クライアントの希望によっては、ある特定の環境だけをターゲットにして作成する事などもあります)。これの線引きは難しいですし、それぞれの制作者のポリシーやクライアントのニーズなどにも左右されますので、一概に「これさえチェックしておけば大丈夫」という基準はありません。まあ個人的には、可能であればIE、Firefox、Safari、Operaそれぞれの最新版(とできれば一つ前ぐらいのヴァージョンも)でのチェック程度はしておいた方がベターかな、とは思います。

noname#232677
質問者

お礼

有難うございました。 とりあえず、これからはsafari、orera、Sleipnirも使って確かめてみることにしました。 丁寧に何度も答えていただいてありがとうございました。

  • abril
  • ベストアンサー率69% (388/560)
回答No.2

> FireFoxを使うと、テーブルやインラインフレームの表示が乱れることを初めて知りました。 > 私もサイトを公開しているのですが、HTMLなどを操作してインラインフレームなどが乱れないようにする方法はないでしょうか。 具体的なソースがないと、何が原因でどの様に修正すれば「表示が乱れること」が解消されるかは指摘できませんが、十中八九、(X)HTMLの文法ミスやCSSの不適切な指定等がある為ではないかと思われます。文法チェッカーにはかけられましたか? IEだけを基準にして作成しているとこの様なトラブルがおこりがちです。IEはFirefoxなどに比べるととにかく文法ミスに対する解釈が甘く、ブラウザ側で勝手に補完してしまったりするので「問題なく出来ている」様に見えてしまいます。また、CSSについても仕様に準じない独自の解釈が少なくなかったりするので、IEで丁度良く見える様に指定すると他のモダン・ブラウザでは意図した表示にならない、またはその逆、という問題にも度々悩まされます。 ですので、他の同様のスレッドでもよく指摘されているのが、先ずは「IE基準で作成せず、Firefox等できちんと表示される様に作成し、その上でIEの表示に対応できる様に(CSS等を)調整して行く」というやり方です。 (X)HTMLのコーディングやCSSの指定が適切であるかどうかをチェックした上で、原因を特定→取り除ければ「テーブルやインラインフレームの表示が乱れ」ない様にできます。そこが肝心・重要なポイントなので、 > 「ドキュメントタイプ宣言」というものを知ったのですが、これを使えばインラインフレームなどの乱れを防ぐことはできるのでしょうか。 というわけではないのです。勿論、DOCTYPEの違いが表示に関わってくるケースも存在していますので、全く関係がないとも言い切れませんが(何せソースが不明なので…)、ちょっと問題の本質がずれている様に思われます。 先ずは作成する(X)HTML文書に合わせて相応しいDOCTYPEを選び、ファイル内でそれを宣言します。宣言したら、それぞれのDOCTYPEに相応しい決まり事に従ってマークアップをしなければなりません。中には「インラインフレーム」を使用する事が推奨されないDOCTYPEもありますので「インラインフレーム」が使いたければ自ずと選択できるDOCTYPEは限られてきますので注意して下さい。 質問者様は今までDOCTYPE宣言をせずに(X)HTML文書を作成してきたのでしょうか?(X)HTML文書において、DOCTYPE宣言は必須です。

noname#232677
質問者

お礼

丁寧な回答をありがとうございました。 乱れはブラウザの文法解釈の違いによって起こるものだということをはじめてしりました。 さらに質問なのですが、 文法ミスのチェックはどのように行えばよいのでしょうか。 お薦めのサイトなどを教えていただければと思います。

  • neddoheny
  • ベストアンサー率60% (921/1528)
回答No.1

一応「ドキュメントタイプ宣言」に関するリンクも貼っておきますが。 http://rich.pleasure911.com/hp_tech/hp_tech05.html

noname#232677
質問者

お礼

neddoheny様、回答ありがとうございました。 教えていただいたリンクをもとに勉強してみます。

関連するQ&A

  • インライン・フレームの表示・非表示

    あるサイトの文章をコピペしようとしたら、『お使いのブラウザはインラインフレームをサポートしていないか、または、インラインフレームを表示しないように設定されています。』とのメッセージが表示されました。 質問 (1)「インラインフレームを表示しない」とは、どういう現象を意味しているのでしょうか? (2)「インラインフレームを表示しない」と、どう言う不都合が生じるのでしょうか? (3)もし、私の使っているブラウザが「インラインフレームを表示しないように設定されている」としたら、インラインフレームを表示させるように設定を切り替えるには、どのような操作をすれば良いのでしょうか? 以上の3点について、ご教示いただければ幸いです。 因みに、私が使っているパソコンのOSはwindows xp で、ブラウザはIE-8です。 どうぞよろしくお願い致します。

  • HTMLについて

    HTMLで一からサイトをつくってます。ダラーズのうようなサイトをつくってるんですが左サイドに自作アイコンをリンクさせ、ページ内のチャットや掲示板に飛ばしています。それでチャットや掲示板はレンタルしてるんですが、インラインフレームに入れてあります。そのインラインフレームがどうしてもアイコンより上にできません。アイコンの隣にインラインフレームを持って来たいんですがどうすればいいですか? 後、その場合文やテーブルのも書いといてもらえるとありがたいです。 説明判りにくいかもしれません。簡単に言えばアイコンの隣にインラインフレームや文、テーブルをもってきたいんですがどうすればいいですか?ということです。早期回答を待ってます

  • XHTMLでサイトを作る時の文字コード

    今までHTML4.01+cssでいくつかサイトを作ってきましたが、今回初めてXHTML1.0+css2.0を使ってとある会社のサイトを作成することにしようと思います。 そのサイトは、WinのIE6とIE7、MacのFireFox3でレイアウトが同じになるように作成する必要があります。 そこで、IE6の「DOCTYPE宣言の前にxml宣言をいれると互換モードになる」という問題を回避するため、xml宣言を外し、標準モードで作成しようと思うのですが、文字コードがshift_jisなのが気がかりです。 開発環境上shift_jisまたはeuc-jpにしておきたいのですが、UTF8かUTF16でない場合はxml宣言での文字コード宣言が必要と書いている書籍が多かったのが不安の元です。 ただ、別にかまわないと書いているサイトも見受けられました。 xml宣言をなくしても問題はないでしょうか。

    • ベストアンサー
    • HTML
  • フレーム内の要素へのXPATHはどのように書けばよいのでしょうか?

    フレーム内の要素へのXPATHはどのように書けばよいのでしょうか? また、それは可能なのでしょうか? 実際には、firefoxのgreasemonkey で、フレームを使ったページ内のテーブル内のデータを取得したいと考えています。 下記のようにやればできるかと思ったのですが、できないようです・・・ var xpath ='/html/frameset/frame[2]/html/body/table/tbody'; var tbody = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.contentDocument; alert(tbody.rows[0].cells[0].firstChild.data); 対象としているサイトの構造は、下記のようになっています。 2つのフレームを含むソース <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <TITLE>ほげほげ</TITLE> <FRAMESET ROWS="88,*"> <FRAME SRC="frame1.html" NAME="FRM1"> <FRAME SRC="frame2.html" NAME="FRM2"> </FRAMESET> </HTML> frame2.html <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <TITLE>フレーム2</TITLE> </HEAD> <BODY> <TABLE border="0"> <TR><TD>データ1</TD>・・・</TR> ・・・・・ </TABLE> </BODY> </HTML> 以上です。 はたしてできるのかどうかもわからない状態です。 どうぞ宜しくお願い致します!!!

  • htmlドキュメントの変更

    ブラウザカテか迷いましたが、アイコンやプログラム選択の件なのでこちらで質問します。 自分でサイトを持っています。その作成しているhtmlドキュメントは、マイドキュメント>homepageというフォルダに入れており、今までIEのアイコンでした。 先日、Firefoxを入れてそれを規定のブラウザにしたんですが、すぐ元に戻しました。戻したといっても、Graniを使っていたのでGraniに戻したのです。 Graniを使っていても、htmlドキュメントはIEのアイコンでした。 開くときはいつもGraniで開いていました(勝手にそうな っていました)。 今日、マイドキュメントを見て分かったのですが、アイコンがすべてFirefoxアイコンになっていて、Firefoxで開くようになっています。 プロパティからIEを選択(このファイルを開くときはいつもこのプログラムを使う)にしても、Firefoxで開いてしまいます。 そもそもファイルの種類が「Firefox Document」になってしまっています。 あとはどこを見れば元に戻せるでしょうか。 ちなみに、フォルダオプション>ファイルの種類 を見てみるとこうなっています。 ・拡張子'HTM'の詳細 プログラム Firefox 拡張子'HTM'の付いたファイルの種類は'Firefox Document'です。 'Firefox Document'のファイルすべてに設定を反映するには[詳細設定]をクリックしてください。 ・拡張子'HTML'の詳細 プログラム Internet Explorer 拡張子が'HTML'のファイルがカスタマイズされました。これらのファイルを規定の種類(Firefox Document)に戻すには[元に戻す]をクリックしてください。 希望としては ・アイコンをIEに戻したい(ファイルの種類をFirefox Documentから戻したい) ・今までのようにGraniで開くようにしたい(IEアイコンでもちゃんとGraniで開いていました) インストールしてあるブラウザ ・IE6 ・Grani3.5 ・Firefox3.0.6

  • XHTML 1.0 Transitional でインラインフレームの表示方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> でインラインフレームを表示する方法はありますか? 普段は <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">のドキュメントタイプでサイトを作っているのですが、他の人に作ってもらったサイトが上記のタイプで作られていました。そのサイトにiframeを組み込みたいのですが、表示がされませんでした。そこで、HTML 4.01 のタイプに変更したところ、文字の大きさや高さなどが崩れてしまいます。何かよい方法がありましたら教えてください。宜しくお願いします。

    • ベストアンサー
    • HTML
  • インラインフレームから親ウィンドウの操作

    javascriptを勉強中です。 インラインフレーム内に設置した画像リンクをロールオーバーした際、インラインフレームを設置している親ウィンドウに指示した画像とテキストを決まった位置に表示できるようにしたいのです。 検索サイトでいろいろなキーワードで調べましたが、「親ウィンドウからインラインフレームへの操作」的なものはあっても、「インラインフレームから親ウィンドウの操作」的なものは見つかりませんでした。 なにとぞご協力お願いいたします!

  • IE7とDOCTYPE宣言について

    たくさんのサイトで「IE7で表示くずれのあるページはDOCTYPE宣言を修正すればIE6での表示結果にちかづく」とありました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> これはシステム識別子をのぞいた状態であり、IE6・IE7ともにQuirksモードという互換モードで認識するとありました。 ここでわからなくなるのですが、IE6でもIE7でも同じ認識の仕方をしているにもかかわらず、なぜIE7とIE6で表示のされ方が違うのでしょうか? 結局、IE6用のバグ逆利用css指定がIE7でバグがとられていたためという結論でいいのでしょうか? 現在、自社サイトのIE7用の表示チェックを行っており、DOCTYPE宣言を変更(識別子を加える)する必要があるのかないのかが、サイトを読んでもなかなか理解しづらいため質問させていただきました。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • バッチファイル内で2つのブラウザを同時に起動したいのですが。

    いつも、お世話になっております。 小生、只今、WindowsXPSP3上でHTMLを勉強中のHTML初学者です。 今回、HTMLを記述し、FireFox3.6.3とIntenetExplorer8.0で表示させようと思い、以下のバッチファイルを書きました。 "C:\Program Files\Mozilla Firefox\firefox.exe" "C:\Documents and Settings\XXXXXXXXXXX\My Documents\HTML\source.html" "C:\Program Files\Internet Explorer\iexplore.exe" "C:\Documents and Settings\XXXXXXXXXXX\My Documents\HTML\source.html" と記述し、バッチファイルを起動してみたところ、 1.FireFoxが起動し、source.htmlを表示。 2.しばらく待つが、IEが起動しない(IEでsource.htmlが表示されない)。 という状況になってしまいました。 どうにかして、両方(FireFox, IE)を一度に起動するバッチファイルを書きたいです。 お忙しい中、申し訳ございませんが、先輩方アドバイス宜しくお願い致します。

  • HP作成で、XHTML 1.0と、HTML 4.01の、どちらの方が?

    素人質問でごめんなさい。 こちらの教えてgooの質問内容を、いろいろと読んだのですが、 どうしても内容が専門的で難しく、 ドキュメント宣言が、もひとつ理解できません。 恥をしのんで・・・。簡単に言って、 ■今のHP作成業や、WEBデザイナーは、 XHTML 1.0と、HTML 4.01では、どちらで作成される方が多いですか? (主に企業の会社案内系のHPの場合) ■CSSレイアウトと、テーブルレイアウトでは、 XHTML 1.0と、HTML 4.01のどちらが良いかは関係ありますか? ■今現在の、ブラウザはWindowsの、IE6が主流ですよね?(ひょっとしてもうIE7かな?) IE6を対照とした場合は、やはりHTML 4.01で作るのが一番いいのでしょうか? 将来的に考えて、これからは、XHTML 1.0で作った方が良いのでしょうか? よろしくお願いします。

専門家に質問してみよう