- ベストアンサー
文字を左上に配置したい。
http://phpjp.com/sample/g0qDjIOTg1+BWw.htm 上記のサイトを参考に、スケジューラーを作ろうとしています。 カレンダー内の数字を左上にもっていきたいんですけど、15行目のtext-align : center;の部分をtext-align:left;としても動きません。 また、翌月や前月、翌年や前年の部分がどこなのかもよくわかりません。 できれば、順を追ってこのプログラムの説明をお願いします。
- みんなの回答 (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のみで、他は未確認です。
その他の回答 (2)
- kabudaisuu
- ベストアンサー率50% (1/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>タグに対して、指定すると、テーブル全体のブラウザ上の表示位置の指定になってしまった。 以上です。
お礼
回答ありがとうござます。 38行目をecho '<TD align="left" valign="top" style="color : ' . $c . ';background-color : ' . $bc . ';">' . $days . '</TD>';と変えたのですが、何の変化も起きませんでした。 タグの説明も、HTMLとPHPについて知識がないので参考になりました。 ありがとうございました。
- bm_hiro
- ベストアンサー率51% (200/388)
カテゴリとしては、CSSなので そっちで聞いたほうが適切な回答がもらえるかもしれませんよ。 ちょっと自分でも確認してみましたけど、日付が二桁になるとleftでもcenterでも ほとんど変わんなくなってる印象です。 35行目に padding:0 10px 10px 0; と入れてやれば、paddingで無理やり左上にすることは可能です。 > また、翌月や前月、翌年や前年の部分がどこなのかもよくわかりません。 15行目の一行に全部詰め込まれてる。 翌月 → <A href="?m=' . date('Ym', mktime(0, 0, 0, $month + 1 , 1, $year)) . '">></A> 翌年 → <A href="?m=' . date('Ym', mktime(0, 0, 0, $month , 1, $year + 1)) . '">>></A> $month +1 ってのと $year + 1 ってのがポイント。 以下略 ざっくり説明すると、以下の様な感じ。 function color_get($i) は 曜日ごとに色を返してる。 5~12行目 GETで m(年月が入ってる)が渡されてくれば、それの月を使い、そうでなければ、現在の時間を使う。 15行目 「 << < 2013年11月 > >> 」の部分。 17~21行目 「 日 月 火 水 木 金 土」の部分。 24~41行目 ↑以降の表の部分。 細かい説明は他の誰かに任せます。 俺から言いたいこと。 ・ タグごとにスタイル書くのは如何なものかと ・ 実は CSSをうまく使えば、tableを使わない もっとスッキリしたコード書けるよ
お礼
回答ありがとうございます。 35行目に padding:0 10px 10px 0; と入れたのですが、枠線が動くだけで数字を左上にできませんでした。 他の部分の説明もありがとうございました。
お礼
回答ありがとうございます。 こちらの画面で38行目に echo '<TD style="color : ' . $c . ';background-color : ' . $bc . '; padding:0 50px 50px 0;">' . $days . '</TD>'; を入れると左上になりました! ありがとうございました!