• ベストアンサー

文字を左上に配置したい。

http://phpjp.com/sample/g0qDjIOTg1+BWw.htm 上記のサイトを参考に、スケジューラーを作ろうとしています。 カレンダー内の数字を左上にもっていきたいんですけど、15行目のtext-align : center;の部分をtext-align:left;としても動きません。 また、翌月や前月、翌年や前年の部分がどこなのかもよくわかりません。 できれば、順を追ってこのプログラムの説明をお願いします。

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

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.3

なんとなく うっすら思っていたことですが、もしかして俺の行のカウントの仕方と、そちらの行のカウントの仕方が違うのかな?と。 俺の行のカウントの仕方は、改行があるところまでを一行としてます。 件のサンプルコードの15行目が 画面上3行に渡っているので誤差が出たようで。 なので、俺の言う35行目というのは ↓ここになります。#2の人と同じ場所です。 echo '<TD style="color : ' . $c . ';background-color : ' . $bc . '; padding:0 50px 50px 0;">' . $days . '</TD>'; #2の人とは HTMLで適用させようとしているか、CSSで適用させようとしているかの違いです。 さらに、分かりやすいように 昨日のより 大げさにpadding入れてます。50pxの所です。 ちなみに、俺が確認しているブラウザは chromeのみで、他は未確認です。

aki-nagi
質問者

お礼

回答ありがとうございます。 こちらの画面で38行目に echo '<TD style="color : ' . $c . ';background-color : ' . $bc . '; padding:0 50px 50px 0;">' . $days . '</TD>'; を入れると左上になりました! ありがとうございました!

その他の回答 (2)

回答No.2

こんにちわ。 これは、おそらく、38行目の下記を、修正すれば、いいと思います。  ■echo '<TD style="color : ' . $c . ';background-color : ' . $bc . ';">' .   $days . '</TD>'; ↓↓↓これを、下記に修正すればいいと、おもう。↓↓↓  ■echo '<TD align="left" valign="top" style="color : ' . $c . ';background-color : ' . $bc . ';">' .   $days . '</TD>'; このプログラムは結局、PHP処理でHTMLタグを合成して、ECHO命令で、出力しているだけなので、 このテーブルのセル内の表示位置の変更は、HTMLタグの使い方がどうなのかということになると、思います。 HTMLタグのテーブルのセル内の位置の指定は、  よこ位置 align="left"  たて位置 valign="top"  ちなみに、<TD>タグは、個々のセルに対する指定  <TR>タグは、よこ1列のすべてのセルに対する指定  このどちらに対しても指定 align valign 指定は、できたが、  <table>タグに対して、指定すると、テーブル全体のブラウザ上の表示位置の指定になってしまった。 以上です。  

aki-nagi
質問者

お礼

回答ありがとうござます。 38行目をecho '<TD align="left" valign="top" style="color : ' . $c . ';background-color : ' . $bc . ';">' .   $days . '</TD>';と変えたのですが、何の変化も起きませんでした。 タグの説明も、HTMLとPHPについて知識がないので参考になりました。 ありがとうございました。

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

カテゴリとしては、CSSなので そっちで聞いたほうが適切な回答がもらえるかもしれませんよ。 ちょっと自分でも確認してみましたけど、日付が二桁になるとleftでもcenterでも ほとんど変わんなくなってる印象です。 35行目に padding:0 10px 10px 0; と入れてやれば、paddingで無理やり左上にすることは可能です。 > また、翌月や前月、翌年や前年の部分がどこなのかもよくわかりません。 15行目の一行に全部詰め込まれてる。 翌月 → <A href="?m=' . date('Ym', mktime(0, 0, 0, $month + 1 , 1, $year)) . '">&gt;</A> 翌年 → <A href="?m=' . date('Ym', mktime(0, 0, 0, $month , 1, $year + 1)) . '">&gt;&gt;</A> $month +1 ってのと $year + 1 ってのがポイント。 以下略 ざっくり説明すると、以下の様な感じ。 function color_get($i) は 曜日ごとに色を返してる。 5~12行目 GETで m(年月が入ってる)が渡されてくれば、それの月を使い、そうでなければ、現在の時間を使う。 15行目 「 << < 2013年11月 > >> 」の部分。 17~21行目 「 日 月 火 水 木 金 土」の部分。 24~41行目 ↑以降の表の部分。 細かい説明は他の誰かに任せます。 俺から言いたいこと。 ・ タグごとにスタイル書くのは如何なものかと ・ 実は CSSをうまく使えば、tableを使わない もっとスッキリしたコード書けるよ

aki-nagi
質問者

お礼

回答ありがとうございます。 35行目に padding:0 10px 10px 0; と入れたのですが、枠線が動くだけで数字を左上にできませんでした。 他の部分の説明もありがとうございました。

関連するQ&A