• ベストアンサー

php 全角文字で改行される

宜しくお願いします。 phpで作ったカレンダーで、 tableのtdの中に、 <?php print $year ; ?>年<?php print $month ; ?>月 を入れて、2009年12月8日と表示しているのですが、 IE6とIE7だけ、全角文字部分で改行されてしまいます。 2009 月 8 日 このような感じです。 全角英字も大丈夫でした。 だめなのは、数字だけです。 どうゆうことでしょうか? どなたか、何卒お願い致します。

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

  • ベストアンサー
  • junkUser
  • ベストアンサー率56% (218/384)
回答No.5

原因がわかりました。 css の "#calender td" の影響により、"#yearmonthtd" の設定が完全に無効化されています。 対処方法としては簡単で、"#calender td" の width の行を削除します。 一応、IE8, Firefox でも確認して問題ありませんでしたので、他のブラウザでも問題無いはずです。 IE6めっ!

smiab
質問者

お礼

すごいです。 おかげさまで助かりました。 本当にご丁寧にありがとうございました。

その他の回答 (4)

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.4

実際に動作させてみました。 前提として ・table が閉じられてない部分は閉じた ・<< >> は &lt;&lt; &gt;&gt; へ変更 ・変数には数値を適当に入れた ・全角空白は半角空白へ変更 開示してもらった分を確認した限りでは全く問題ありませんねぇ。 あとは、$year と $month が実際は数値ではなく、"2009<br>" などになっている可能性と、$cal の部分が HTML として正しくないといったくらいでしょうか。 実行結果の HTML ソースも開示いただけたら原因がつかめると思います。

smiab
質問者

補足

本当にありがとうございます。 IE6での画面ソースです。 お願い致します。 <table summary="indexページのデザインに使用" border="2" id="calender" cellpadding="0" cellspacing="0"> <tr> <td colspan="7" id="yearmonthtd">2009年12月</td> </tr> <tr> <td id="calendernichi">日</td> <td class="calenderyoubi">月</td> <td class="calenderyoubi">火</td> <td class="calenderyoubi">水</td> <td class="calenderyoubi">木</td> <td class="calenderyoubi">金</td> <td id="calenderdo">土</td> </tr> <tr><td class="kara"></td><td class="kara"></td><td class="calenderweekday">01</td><td class="calenderweekday">02</td><td class="calenderweekday">03</td><td class="calenderweekday">04</td><td class="calendersatsun">05</td></tr> <tr><td class="calendersatsun">06</td><td class="calenderweekday">07</td><td class="calenderweekday">08</td><td class="calenderweekday">09</td><td class="calenderweekday">10</td><td class="calenderweekday">11</td><td id="calendersatsuntoday">12</td></tr> <tr><td class="calendersatsun">13</td><td class="calenderweekday">14</td><td class="calenderweekday">15</td><td class="calenderweekday">16</td><td class="calenderweekday">17</td><td class="calenderweekday">18</td><td class="calendersatsun">19</td></tr> <tr><td class="calendersatsun">20</td><td class="calenderweekday">21</td><td class="calenderweekday">22</td><td class="calendersatsun">23</td><td class="calenderweekday">24</td><td class="calenderweekday">25</td><td class="calendersatsun">26</td></tr> <tr><td class="calendersatsun">27</td><td class="calenderweekday">28</td><td class="calenderweekday">29</td><td class="calenderweekday">30</td><td class="calenderweekday">31</td><td class="kara"></td><td class="kara"></td></tr> </table> </table> <table summary="indexページのデザインに使用" id="eigyoubitable" cellpadding="0" cellspacing="0" border="0"> <tr> <td id="kyoutd"></td> <td>今日</td> <td id="eigyoubitd2"></td> <td>休業日</td> </tr> </table> <table summary="indexページのデザインに使用" id="calender3" cellpadding="0" cellspacing="0" border="0"> <tr valign="bottom"> <td id="calender3td1"><a href=http://mail.yahoo.co.jp/config/login?/"index2.php?year=2009&amp;month=11#calender">&lt;&lt;前月</a></td> <td id="calender3td"><a href=http://mail.yahoo.co.jp/config/login?/"index2.php?year=2010&amp;month=1#calender">翌月&gt;&gt;</a></td> </tr> </table>

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.3

css の中に td で width が指定されていませんか? もしくは、table の横幅を修正しない指定(名称失念)があるのではないでしょうか。 とりあえず、table の部分のソースと該当する css を可能であれば開示してください。

smiab
質問者

お礼

css部分 /*カレンダーの営業日と休業日の色の凡例*/ #eigyoubitable { position: relative; height: 15px; width: 180px; color: #000000; margin: 5px 0px 0px 13px; padding: 0; } #kyoutd { width: 13px; background-color: #ffccff; margin: 0; padding: 0; } #yearmonthtd { width: 180px; margin: 0; padding: 0; } /*カレンダー*/ #calender { position: relative; border-collapse: collapse; border-color: #cccccc; width: 180px; color: #696969; margin: 20px 0px 0px 0px; padding: 0; } /*カレンダーのテーブルのセル*/ #calender td { border-color: #cccccc; vertical-align: middle; text-align: center; width: 22px; height: 24px; margin: 0; padding: 0; } /*カレンダーの土日今日*/ #calendersatsuntoday { text-decoration: none; color: #000000; background-color: #ffccff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの土日*/ .calendersatsun { text-decoration: none; color: #232323; background-color: #ffcc99; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの平日今日*/ #calenderweekdaytoday { text-decoration: none; color: #000000; background-color: #ffccff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; }

smiab
質問者

補足

お返事ありがとうございます。 html,cssのせますので、宜しくお願い致します。 html部分 <table border="2" id="calender" cellpadding="0" cellspacing="0">  <tr>   <td colspan="7" id="yearmonthtd"><?php print $year ; ?>年<?php print $month ; ?>月</td>  </tr>  <?php print $cal;?> <table id="eigyoubitable" cellpadding="0" cellspacing="0" border="0">  <tr>   <td id="kyoutd"></td>   <td>今日</td>   <td id="eigyoubitd2"></td>   <td>休業日</td>  </tr> </table> <table id="calender3" cellpadding="0" cellspacing="0" border="0">  <tr valign="bottom">   <td id="calender3td1"><a href="index2.php?year=<?php print $prevyear ; ?>&month=<?php print $prev ; ?>#calender"><<前月</a></td>   <td id="calender3td"><a href="index2.php?year=<?php print $nextyear ; ?>&month=<?php print $next ; ?>#calender">翌月>></a></td>  </tr> </table>

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

td の横幅が狭すぎるか、指定されていないのではないでしょうか。

smiab
質問者

お礼

文字数オーバーしてしまったので、分けました。 見にくくて申し訳ございません。 /*カレンダーの平日*/ .calenderweekday { text-decoration: none; color: #232323; background-color: #ffffff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの土日以外の曜日部分*/ .calenderyoubi { font-family: HG平成角ゴシック体W5; color: #696969; background-color: #C7D8ED; text-align: center; vertical-align: middle; font-size: 15px; line-height: 20px; margin: 0; padding: 0; } /*カレンダーの土曜日*/ #calenderdo { font-family: HG平成角ゴシック体W5; color: #ffffff; background-color: #A6C0E1; text-align: center; vertical-align: middle; font-size: 15px; line-height: 20px; margin: 0; padding: 0; } /*カレンダーの日曜日*/ #calendernichi { font-family: HG平成角ゴシック体W5; color: #ffffff; background-color: #ff3300; text-align: center; vertical-align: middle; font-size: 15px; line-height: 21px; margin: 0; padding: 0; } /*カレンダーの日にちがない部分*/ #kara { background-color: #ffffff; margin: 0; padding: 0; } /*「営業日」と「休業日」のセル*/ #eigyoubitable td { height: 15px; font-size: 13px; line-height: 15px; padding-left: 3px; margin: 0; padding: 0; } /*休業日の色*/ #eigyoubitd2 { width: 13px; background-color: #ffcc99; margin: 0; padding: 0; } /*カレンダー前翌月のリンクテーブル*/ #calender3 { position: relative; font-size: 10px; width: 164px; height: 14px; line-height: 14px; margin: 5px 0px 0px 5px; padding: 0; } /*カレンダー前月*/ #calender3td1 { padding-left: 0px; margin: 0; } /*カレンダー翌月のリンク*/ #calender3 a { text-decoration: none; color: #3d3d3d; margin: 0; padding: 0; } /*カレンダー翌月のリンク*/ #calender3td { width: 70px; margin: 0; padding: 0; }

smiab
質問者

補足

遅くなってしまい申し訳ございません。 tdにwidthを指定してみても、だめでした。 どうでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ブラウザでHTMLソースを見て改行が入っていますか? そうでなければcssで所定のtdにwhite-space:nowrap を指定見てください

smiab
質問者

補足

遅くなってしまい申し訳ございません。 HTMLソースを見ても改行は入っていませんでした。 tdにwhite-space:nowrapを追加してみたのですが、だめでした。 どうでしょうか?

関連するQ&A