• ベストアンサー

requireでtextデータを読み込んだら、cssのクラスセレクタが無視されているみたいです。

バンドをしていて、そのホームページを作成していたのですが、どうしても分からない部分が出てきたので、ご教授お願いします。 ホームページについては、上にヘッダー、左右にfloatで回り込み、真ん中にはmarginを設定してメインコンテンツ、clear:both;でフッター、という感じで表示しています。 そして、右のカラムは全ページ共有なので、PHPのrequireを使って、テキストファイルを読みとらせています。 今までブラウザはsleipnirを使ってきたので正しく表示されていたのですが、ブラウザをGoogle chromeに変更したところ、レイアウトが崩れてしまいました。 requireで読み込んだ部分のクラスセレクタで指定されたcssが反映されていないように感じます。 IEで確認した分には問題なかったのですが、それ以外のブラウザでは反映されていないという感じです。 ちなみに main.cssファイル .koushin{ height:100px; width:140px; overflow-x:hidden; overflow-y:scroll; font-size:10px; line-height: 12px; padding: 5px; scrollbar-face-color: #ffffff; scrollbar-3dlight-color: #cccccc; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ffffff; scrollbar-darkshadow-color: #cccccc; scrollbar-arrow-color: #cccccc; scrollbar-track-color: #ffffff; } right.txt(このテキストをrequireで読み込む) <div class="koushin"> 更新情報~~~~~ </div> として、更新情報のoverflowをscrollにしたいのですが…。 ・直接HTMLファイルに書き込んでいるメインコンテンツはスクロールになっている ・IEではきちんと表示される ので、コーディングのミスではなさそうな気がします。 ・IEのレイアウトは崩さない。 ・共用部分は更新が大変なので、読み込ませたい。 ・overflowをscrollにしたい。 です。 よろしければご回答お願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。
  • PHP
  • 回答数6
  • ありがとう数7

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

  • ベストアンサー
  • umioyo
  • ベストアンサー率66% (35/53)
回答No.6

では一度原点に戻ってCSSの問題なのかPHPの問題かはっきりさせてはどうでしょう。 requireさせないでright.txtの中身を直接HTMLに記述させたらどういう結果になるでしょうか。 ヒマになってからで結構ですが・・・

white-rock
質問者

お礼

お礼が遅くなってしまい申し訳ございません。 先ほど確認した結果、CSSの問題だったことがはっきりしました。 完全に自分の知識不足が問題だったみたいです。 貴重なお時間を沢山取らせてしまい、申し訳ありませんでした。 頑張って勉強して直してみることにします。 本当にありがとうございました。

その他の回答 (5)

  • umioyo
  • ベストアンサー率66% (35/53)
回答No.5

ええと、やはり一番はどのように崩れているか回答する方がわからないので、(gooの方針により)URLで示せないのであれば画像なりで見せてもらったほうがより解決にちかい回答が得られるのではないかと思います。 というかどーなんですか。echoなりで出力してるんでしょうか? right.txtの中身が print <<<EOM <div class="koushin"> 更新情報~~~~~ </div> EOM; のようになっていればいいんじゃないかと思うのですがいかがでしょうか。 放置は個人的には構わないと思います。 後で結果がどうなったのか気になるので、教えて欲しいですw

white-rock
質問者

お礼

echoなりprintなりしてまいませんでした。まさか読み飛ばしちゃうとは…。すみません。 右のカラムに入れていたHTMLをそのままコピーして、right.txtを作っているだけになっています。 そこが問題なのでしょうか…。 ちょっと修正してみます。 自分は完全な素人でして、まともな情報は得られないと思いますよ^^;

  • umioyo
  • ベストアンサー率66% (35/53)
回答No.4

しつこくすいません。 requireしたデータが画面にHTMLタグとして出力されていない可能性を考えてみました。 right.txtをrequireしたあとどうしているのか実際のところがわかりませんが、echoなりprintなりされているのでしょうか。 「更新情報~~~~~」だけをrequireして、「<div class="koushin">」と「</div>」はもとのHTMLに記述してはどうでしょうか。

white-rock
質問者

お礼

何度もご回答ありがとうございます。 初めて利用させて戴いたのでCSSを見つけることが出来ませんでした…。すみません。 解決する方法としてはやっぱりそれしかないですかね…。 趣味でやっているので、複数個にわたったページを編集のが大変なので別の方法を探していました。 No.1の方の指摘とも合わせて編集してみようかと思います。 このたびは回答ありがとうございます。 あと、他にもrequireでクラスセレクタを普通に利用出来ている方などの意見も聴きたいと思うのと、数日忙しく編集がすぐに出来そうにないので、回答は締め切らずに放置させて戴いてもよろしいでしょうか? やっぱりマナーとして問題ありますか…?

  • umioyo
  • ベストアンサー率66% (35/53)
回答No.3

あ、すいません。 ちゃんと読んでませんでしたがIEは問題ないんですね。。。 失礼しました

white-rock
質問者

お礼

追記などが見つけられなかったので、こちらに失礼します。 前の回答にお礼を付けた後にright.txtをright.phpに変更して試してみたのですが、上手く行きませんでした。 right.txtをright.phpとして <?php print <<<EOM <!--更新履歴--> <h3>更新履歴</h3> <div class="koushin"> 更新情報~~ </div> EOM; ?> index.htmlの中身は <?php require('right.php'); ?> .htaccessの中身は irectoryIndex index.html index.php .ht Action myphp-script /php.cgi AddHandler myphp-script .php .html としています。 あと、画像を上げようと思ったのですが、1度削除してしまったら次に投稿出来ませんでした。 申し訳ないです。

  • umioyo
  • ベストアンサー率66% (35/53)
回答No.2

IEのバージョンおよびどのように崩れているかがわからないので正確にわかりませんが、特にIE6に関してはwidth&paddingの解釈がおかしかったり、floatさせたクラスにmarginを割り当てるとmarginが2倍になるなどのバグ・・・というか解釈の違いが多くあります。 おそらく崩れるのは、左と右のfloatさせたボックスの幅がwrappingさせている外枠の幅を超えているのでいわゆる段落ちしてしまっている状態ではないかと思います。 見た目でkoushinクラスに問題があるようであれば、そうなのかもしれませんが、メインコンテンツ部分の余白にも注意されると良いかと思います。 具体的には、メインコンテンツと、koushinクラスにbackgroundを指定(別な色で)すると、それぞれの領域がどこまできているか確認できるかと思います。 その状態で、IE6,7,8,GoogleChromeなどで比較してみてください。 PHPではなくCSSで相談されたほうが回答が速かったでしょうね^^;

参考URL:
http://adp.daa.jp/archives/000265.html
回答No.1

overflow-xとかoverflow-yってのがそもそもIE独自の方言なので、 基準に従うブラウザでは解釈されません。overflowを使います。 scrollbar-ホニャララも全部IE独自方言ですね。

white-rock
質問者

お礼

回答ありがとうございます。 ただ、メインコンテンツ部分でもoverflow-xとoverflow-yで指定しているのですが、Google Chromeでもきちんと表示されていたので、そこが原因ではないと思います。 scrollbar-についても、きちんとIEだけに定義しておくことにします。 ありがとうございます。

関連するQ&A

  • FC2ブログのプラグインのタグについて教えて下さい

    *スクロールバー付きのBOX* とゆうのを使わせてもらってるんですが、 文字が真ん中によってしまうのを 左よりにしたいんですが、 どうすればいいのでしょうか?。 <pre>でやってみたんですが、表示がおかしくなってしまってだめでした。 最初のタグは以下の通りです。 <div style="height:150px; overflow:auto; border:1px solid #000000; background-color:#FFFFFF; color:#000000; padding:3px; scrollbar-3dlight-color:#FFFFFF; scrollbar-arrow-color:#000000; scrollbar-darkshadow-color:#FFFFFF; scrollbar-face-color:#FFFFFF; scrollbar-highlight-color:#000000; scrollbar-shadow-color:#000000; scrollbar-track-color:#FFFFFF;">*ここにテキストや画像を入れて下さい。BOXの高さを超えないとスクロールバーは表示されません。またお洒落すクロースバーはIEのみです。*</div>

  • FC2のプラグインを左詰めにしたい

    <div style="height:150px; overflow:auto; border:1px solid #000000; background-color:#FFFFFF; color:#000000; padding:3px; scrollbar-3dlight-color:#FFFFFF; scrollbar-arrow-color:#000000; scrollbar-darkshadow-color:#FFFFFF; scrollbar-face-color:#FFFFFF; scrollbar-highlight-color:#000000; scrollbar-shadow-color:#000000; scrollbar-track-color:#FFFFFF;">*ここにテキストや画像を入れて下さい。BOXの高さを超えないとスクロールバーは表示されません。またお洒落すクロースバーはIEのみです。*</div> 上記のプラグイン(スクロールバー付のBOX)を導入したいのですが、 表示がセンター表示になってしまうのですが、 これを左詰表示にしたいのですが、 タグをどう変更すればよいのか教えてくださいm(__)m。

  • ブログでのスクロール枠の設置の仕方

    <div style="margin:0px;padding:0px;" align="left"><div style="margin:0px;padding:0px;line-height:1.3;width:200px;background-color:#FFFFFF;"><div style="margin:0px;padding:10px;line-height:1.3;overflow:auto;border: 2px solid #66CCCC;font-family:'MS Pゴシック',Osaka,sans-serif;text-align:left;font-size:100%;height:5em;scrollbar-arrow-color:#66CCCC;scrollbar-3dlight-color:#66CCCC;scrollbar-darkshadow-color:#66CCCC;scrollbar-face-color:#FFFFFF;scrollbar-track-color:#FFFFFF;scrollbar-track-color:#FFFFFF;scrollbar-shadow-color:#FFFFFF;">文章挿入</div></div></div> スクロール枠です。 これをブログにはめ込んでるんですが、この枠をもう一つ横並びに貼り付けたいのですが、段落ちしてしまいます。 改行はしてないので、それでの段落ちではないです。 お分かりになる方、よろしくお願いします。 ライブドアブログです。

  • WEB上とPC上で font が・・・

    <Div style="width:200;height:100;overflow:auto; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#ffffff; scrollbar-highlight-color:#ffffff; "> <table style="font-size: 12px; padding: 3; width: 180px;"><tr><td> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ </td></tr></table> </Div> これをPC上で表示すると、font 12px になりますが、 WEB上で表示すると、何故か 12px より大きくなります。 何故そうなり、どうやったらWEB上でも 12px になりますでしょうか?

    • ベストアンサー
    • HTML
  • スクローラーバー が表示されない

    更新履歴などによく使われているスクローラーバーなんですが、 まったく同じものがサーバーによって正常表示されません。 YAHOOサーバーではちゃんとスクロールされるのに、 さくらサーバーではそのまま縦長になって表示されます。 回避の方法が全く思い当たりません。 ご教授よろしくお願いします。 <div style="width:300;height:140;overflow:auto; scrollbar-3dlight-color:#ffaa99; scrollbar-arrow-color:#ffaa99; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#ffaa99; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#ffaa99; scrollbar-track-color:#ffffff; "> <Table border="1" width="280" height="150" cellspacing="0" bordercolor="#ffaa99"> <Tr><Th height="30" bgcolor="#ffaa99"> <font size="3" color="#ffffff" face="MS ゴシック"> 更新履歴</font> </Th></Tr> <Tr><Td> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (実際にはここに長々と文章があります) <Td></Tr> </Table> </div>

  • HTML・CSSコーディングが上手く行きません

    お世話になります。 HTML・CSSコーディングを依頼されたのですが、 なかなか上手く表示されず、困っております。 外部CSSデータは下記の通りです。 html { height:100%; scrollbar-face-color: #00B7EE; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color:#00B7EE; scrollbar-3dlight-color: #00B7EE; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-darkshadow-color: #FFFFFF; } body { height:100%; margin:0 auto 0; background-color: #FFFFFF; } form { margin:0px; scrollbar-face-color: #00B7EE; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color:#00B7EE; scrollbar-3dlight-color: #00B7EE; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-darkshadow-color: #FFFFFF; } #container { width:100%; height:100%; margin:0 auto 0; background-color:#FFFFFF; font-family:sans-serif; background-image: url(../img/top_haikei.gif); background-repeat: no-repeat; background-position: center bottom } #logo{ float:left; margin-left:80px; height:180px; } #box1{ clear:both; text-align:center; line-height:20px; height:230px; } #login_left{ float:left; line-height:20px; width:700px; height:180px; } #login_right{ float:left; height:180px; } #footer { width:950px; clear:both; text-align:center; } ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ IEテスター(http://coliss.com/articles/browser/ie/928.html)で 表示確認しておりますが、 ブラウザのバージョンによって表示のされ方が違ってしまいます。 初心者の為、どなたか丁寧にご教示くださればと思います。 どうぞよろしくお願い致します!

    • ベストアンサー
    • HTML
  • イメージマップの画像がIE6でリンクされません

    依頼されたページを作成中ですが、 イメージマップで作成した部分がIE6のみリンクされず困っております。 IEテスター(http://coliss.com/articles/browser/ie/928.html)にてIEの各バージョンで動作確認しました。 バグなのか何なのか分からないので、どなたか詳しくご教示頂ければ幸いです。 ■CSSデータ *{ margin:0px; padding:0px; } html { scrollbar-face-color: #F5E1D8; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color:#F5E1D8; scrollbar-3dlight-color: #F5E1D8; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-darkshadow-color: #FFFFFF; } body { margin:0 auto 0; background-color: #FFFFFF; font-family:sans-serif; font-size:8pt; } form { margin:0px; scrollbar-face-color: #F5E1D8; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color:#F5E1D8; scrollbar-3dlight-color: #F5E1D8; scrollbar-arrow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-darkshadow-color: #FFFFFF; } #container { width:950px; margin:0 auto 0; background-color:#FEFBEE; } #logo{ margin-left:80px; height:150px; } #box1 { text-align:center; line-height:20px; height:100px; } #box2 { text-align:center; line-height:20px; height:150px; } #box3 { text-align:center; line-height:20px; height:70px; } #box4 { text-align:center; height:300px; background-image: url(../img/top_haikei.jpg); background-repeat: no-repeat; background-position: center bottom }

    • ベストアンサー
    • HTML
  • CSSによるスクロールバーの色の反映がされない

    CSSによるスクロールバーの色の反映がされないのですが、原因がよく分かりません。 環境 windows2000SP4 IE6.0.2 ソース html,body{ background-color:#FFFFFF; font-size:14px; margin:0px; scrollbar-3dlight-color : #FFFFFF; scrollbar-arrow-color : #336666; scrollbar-base-color : #FFFFFF; scrollbar-darkshadow-color : #FFFFFF; scrollbar-highlight-color : #CCCCCC; scrollbar-shadow-color : #CCCCCC; scrollbar-track-color : #FFFFFF; } 外部CSSを読み込む感じなのですが、他のCSSは反映されているので、外部CSSへのリンクが違うということはないです。 また、おそらくスクロールバーの色を変更しているサイトのスクロールバーを見てもデフォルトの灰色です。 また、IEのインターネットオプションのユーザー設定には何もチェックはいれていません。 何かあやしい点があれば、教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • スクロールするテーブルに背景画像を固定させたいのです

    HTMLでテーブルを作り、スクロールできる仕様にしました。そこに背景画像を入れたのですが、スクロールの際に一緒に背景画像もスクロールしてしまいます。 文字などだけをスクロール可能にして、背景画像を固定にする方法を知っている方は教えてください。 私のソースは下記です。よろしくお願いします。 <html> <TABLE border="0" width="695" background="top-6.GIF"> <TR><TD width="72" height="34"></TD><TD width="623" height="34"><font color="red"><b><center>お知らせ</center></b></font></TD></TR> </TABLE> </DIV> </DIV> <!--本体部分--> <DIV style="overflow-y:scroll;direction:ltr;width:695;height:114px"> <DIV style="direction:ltr"> <TABLE border="0" width="695" background="top-7.GIF" style="background-attachment: fixed"> <TR><TD width="72">A</TD><TD width="623">B</TD></TR> <TR><TD>C</TD><TD>D</TD></TR> <TR><TD>E</TD><TD>F</TD></TR> <TR><TD>G</TD><TD>H</TD></TR> <TR><TD>I</TD><TD>J</TD></TR> <TR><TD>K</TD><TD>L</TD></TR> <TR><TD>M</TD><TD>N</TD></TR> <TR><TD>O</TD><TD>P</TD></TR> </TABLE> <DIV style="overflow-y:scroll;direction:ltr;width:695; scrollbar-base-color:#FFFFFF; scrollbar-track-color:#FFFFFF; scrollbar-face-color:#FFFFFF; scrollbar-shadow-color:#FFFFFF; scrollbar-darkshadow-color:#FFFFFF; scrollbar-highlight-color:#FFFFFF; scrollbar-3dlight-color:#FFFFFF; scrollbar-arrow-color:#FFFFFF"> <DIV style="direction:ltr"> </DIV> </DIV> </html>

  • ブログのカスタマイズについて

    初心者のブロガーです。FC2のブログを利用しています。 以前は文字だけの記事が主でしたが、CSSを織り交ぜながらやっていきたいと考えています。 それで先週からCSS設定のサイトをいくつか訪問して勉強させていただきましたが、自分のブログに反映できません。 具体的には、ブログデザインの設定⇒スタイルシートの編集⇒必要なタグを記述<STYLE TYPE="text/css"> <!-- .boxtop { /* 更新記事のスクロールボックス */ width: 65%; height: 50px; overflow: scroll; scrollbar-face-color: #ff8c00; scrollbar-track-color: #fff8dc; scrollbar-arrow-color: #ffffff; scrollbar-highlight-color: #fff8dc; scrollbar-shadow-color: #d2691e; scrollbar-3dlight-color: #ffebcd; scrollbar-darkshadow-color: #8b0000; }--> </STYLE>⇒更新⇒新しくブログを書く⇒<div class="boxtop">ボックス内に記事を書く</div>記事は問題ないですが、スタイルシートで設定したボックスが表示されません。どうしたらいいのでしょうか?