• ベストアンサー

<div valign=bottom> は効かないのでしょうか?

テキストを二つのまとまりに上下に分けたいのですが、その際ひとつを左上に詰めて、もうひとつを左下につめるようにしたいのですが、table タグを使用せずにそういうことは可能でしょうか? 下に下げたい方を<div valign=bottom> でくくってみましたが有効でないようなので、どうしたものかと思っています。 方法をご存知の方おられましたらどうぞよろしくお願いいたします。

  • jyuu
  • お礼率83% (553/665)
  • HTML
  • 回答数8
  • ありがとう数9

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

  • ベストアンサー
回答No.6

意図がよく分からないため、ひどくピーキーなやり方ですが以下の方法なら確実です。 boxセレクタのheightをいくつにしても、btmクラスを指定されたpタグはboxセレクタ内の最下部に回ります。 <style> #box{ position:relative; height:400px; } p.btm{ position:absolute; bottom:0px; left:0px; } </style> <div id="box"> <p> ああああ </p> <p class="btm"> ああああ </p> </div> なお補足意見ですが、ブロードバンドが普及している現在、タグレベルの軽量化(数KB~数10KB)による体感速度の違いは、ほとんど得られないかと思われます。画像一枚置くだけでページサイズは数十倍になってしまいますし。

jyuu
質問者

お礼

ありがとうございます。このやり方でできました。感謝いたします。

その他の回答 (7)

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.8

ANo.1です。#7で閉じタグを忘れました。 <div style="float: left;"> <div>テキスト(上部)</div> <div style="position: absolute; bottom: 0px;">テキスト(下部)</div> </div> すみませんでした。

jyuu
質問者

お礼

たびたびありがとうございます。 教えてくださったやり方ですと、ページが縦に長くてスクロールバーが出る場合、文字がダブってしまいました。 しかし、#6のご回答者さんのやり方でなんとかできました。

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.7

あら、たくさん回答を頂いてますね。もう必要ないかも。。。ANo.1です。 ブラウザの左上と左下にテキストを、常に表示したかったのですね。単にテキストを表示させるだけなら、 <div style="float: left;"> <div>テキスト(上部)</div> <div style="position: absolute; bottom: 0px;">テキスト(下部)</div>

  • crepon133
  • ベストアンサー率51% (399/776)
回答No.5

具体的なレイアウトが分からないので何とも・・・ <div style="width:240px;position:absolute;top:0%;left:0%;border:1px solid #666666;">あああああ<br>あああああ</div> <div style="width:240px;position:absolute;right:0%;bottom:0%;border:1px solid #666666;">いいいいい<br>いいいいいいい</div>

jyuu
質問者

お礼

教えてくださったやり方ですと、縦に長いページで文字が重なってしまいました。しかし、#6の回答者さんの方法で解決いたしました。ありがとうございます。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.4

やりたいことはわかったんですが、なんでテーブルを使ってはいけないんですか?(^_^;) スタイルシートを使っても、テーブルを使って整形するのは結構あることだとおもうんですが。 テーブルを組まないでこれをしようとおもったら、元が高さが400pxのテーブルだったとしたら、1x200pxの100%透過GIFの画像を貼り付けてそれにそって、alignを作るというのでできないかなあ。。とおもいますが、未確認です。 <div style="height:400px;"> <img src="200px.gif" alt="200pxgif" style="vertical-align:text-top;" />あああああああああああ<br> <img src="200px.gif" alt="200pxgif" style="vertical-align:text-buttom;" />いいいいいいいいいいい<br> </div>

jyuu
質問者

お礼

テーブルタグをできるだけ除いて表示速度の速いページを作りたいと思っています。 height についてですが、400px ではなく100% の場合はどのようにするのでしょうか?

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

テーブルを使わずに・・・と書かれているという事は、 「テーブルを使った書き方はわかっている」ということですね? でしたら、そのテーブルを使った書き方を示していただけませんでしょうか? 言葉だけだと、ちょっと何がしたいのかわかりかねます。 ちなみに、"valign"はテーブル用の属性です。 http://www.hajimeteno.ne.jp/html40/v/valign.html 「左上」「左下」ということだけを考えたら、単に二行上下に並べて書くだけでいいようなきがするのですが、きっと違う事がしたいんだとおもいますので。。。

jyuu
質問者

お礼

#1の補足に詳細を付け足しましたので、もしやり方をご存知のようでしたらよろしくお願いいたします。

  • crepon133
  • ベストアンサー率51% (399/776)
回答No.2

こんな感じでしょうか? <div style="width:240px;"> あああああ<br>あああああ </div> <div style="width:240px;margin-left:240px;"> いいいいい<br>いいいいいいい </div>

jyuu
質問者

お礼

テキストをブラウザのウィンドウの高さが変化しても、左上に沿うグループと、左下に沿うグループに分けたいのですが可能でしょうか?

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.1

テキストをどんな感じで表示させたいのか、イマイチよくわからないのですが… divを使えば改行されるので、無効なvalignを使うまでもなく下に表示されます。ただ、2つのテキストの区切りを付けたいのであれば、p要素で段落にすれば良いんじゃないかな~。(<div><p>テキスト1</p><p>テキスト2</p></div>pタグの前で空白行が入ります) preを使えば、htmlのソース上で整形すればブラウザにそのまま反映されます。(改行、空白など) divというブロック要素を使って横幅を指定し、テキストを自動改行させたいのであれば、スタイル属性を記述しなければなりません。(例・200pxでテキストを折り返す<div style="width: 200px;">) いろんな推測が浮かんできて、的を射てないとおもいますが、ご参考になれば、、、

jyuu
質問者

お礼

こちらの説明不足にかかわらず丁寧に回答していただきありがとうございます。 実現させたいこととしまして、以下のようなテーブルで二つのパートを上下にそれぞれつめて分けるやり方を table タグを使用せずに行いたいのですが可能でしょうか? <table height="400"> <tbody> <tr valign="top"> <td> テキスト(上部) </td> </tr> <tr valign="bottom"> <td> テキスト(下部) </td> </tr> </tbody> </table>

関連するQ&A

  • CSSでdiv内を下揃え

    CSSでdiv内を下揃えは出来ないものでしょうか? テーブルを使った時の以下の表現をCSSで表現したいです。 <TABLE border="0" height="200"> <TR> <TD>ここは上から●pxに画像配置</TD> </TR>  <TR> <TD valign="bottom">ここを下揃えで画像表示</TD> </TR> </TABLE> テーブルならすぐできるのですが… 下揃えの方法があれば教えてください。

    • ベストアンサー
    • CSS
  • <div>テキスト</div>

    HTMLを記述する際に文書構造を明確に…と考えています。 見出しにはHタグ、本文にはPタグ、リストにはliなどなど。 ある書籍でbody直下にテキストを配置するのはいけない、と書いてありました。テキストに意味付けがなされていないから、というようなことが理由として書いてありました。 そこで思ったのですが、divはもともと意味をなさないブロック要素ですが、この直下にテキストを配置すると、このテキストは文書構造上意味を持たないものになって、文法上間違っているのでしょうか? 今のところ、 <div><p>テキスト</p></div> のように、pで意味付けをするのが正しいのかな、と考えていますが、W3Cのホームページではdiv直下にテキストを配置しているものがありました。 皆さんのご意見を伺いたいです。 div直下のテキストは正しいのか、間違っているのか、どうでもいいのか?

    • ベストアンサー
    • HTML
  • <td valign="top">内のテーブルがtopにこない

    よろしくお願いします。 <td valign="top">内にテーブルがあるのですが、 それがTOP表示にならずに困ってます。 現在、テーブルの下に透明gifを入れて、見た目上、 topになっているようにしています。 この場合、tdの外にあるタグが何か影響しているのでしょうか? 透明gifを使わずに、top表示する方法を教えてください。 ソース例 <td valign="top"> <table>fffff</table> </td>

  • 【CSS】floatで左右に並べた<div>を下揃えにできますか?

    CSS(スタイルシート)においてfloatで2つのdivを左右に並べる方法は定番ですが、この2つのblockレベル要素は高さが違えば下部が不ぞろいになります。 これは仕方ないとして、上部が不揃いになってもいいので下揃えにできませんでしょうか? text-align:bottom;やvertical-align:bottom;ではできませんでした。tableを使えば可能でしょうが今回はtableなしという事でお願いいたします。

    • ベストアンサー
    • HTML
  • 【CSS】divの中で縦方向の中央揃えは、どうやってかくのでしょうか?

    すいません、divの中で縦方向の中央揃え、つまり、 divの代わりにtableタグの中のtdで書いた場合の、 <td valign="middle">ほげほげ</td> と同じことをdivで実現するにはどうすればいいのでしょうか? ご存じの方いらっしゃったら、よろしくお願いいたします。

  • css(div)の中にtableタグを使うとなぜかcellpaddingがきかない

    cssのdivの中にtableタグを入れ子にして作成していますが、中側tableのcellpaddingを5に指定しているにもかかわらず余白があきません。 過去ログにCSSの設計思想からすると、DIVの中にTABLE要素を組み込むことは論理矛盾であると書かれていましたが、複雑な表になってくると知識がないため、テーブルを使っているのが現状です。 なぜ余白があかないのでしょうか?また対応する方法はあれば教えていただきたいです。よろしくお願いします。 <div id="fee_table"> <table width="460" border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#C4D6A7"><table width="460" border="0" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> </table></td> </tr> </table> </div> ■---css---------------------------------------■ #fee_table { font-size: 95%; margin : 10px 0 10px 15px; }

  • divの中央部分にテキストを配置したい

    こんにちは。 趣味のサイトを開設しているのですが、今回XHTMLとCSSを使って再構築したいと思い、参考書を買って勉強している最中です。 今までページ内の配置には主にTABLEを使ってきたのですが、それらをdivに変えていこうと思っています。 そこでお聞きしたいのですが、高さと幅をピクセルで指定してあるdivの真ん中にテキストを配置する場合、CSSでどう記述すればいいのでしょうか? たとえば div#Header { width: 780px; height: 300px; padding-right: auto; padding-left: auto; text-align: center; } とした場合、左右は等分され中央に来ますが、これにtopとbottomを追加しても上下の真ん中には来ませんよね? この場合は、高さの指定を外して、topとbottomを同じピクセルの数字で指定するしかないのでしょうか? それとも他に方法があるのでしょうか? 初歩的な質問ですみませんが、教えて下さい。お願いします。

    • ベストアンサー
    • HTML
  • divタグで位置を指定したい

    お世話になります。 ホームページを作成しています。 写真がメインのページになりますので、基本的に文章は余りありませんが、 左下に少し更新用の文章があるようにしたいです。 この場合divタグを使用して下に持ってくる場合はどのようにすればよいのでしょうか? マージンで調整したのですが、文字が増えてくると下に飛び出したりして不安定になって困っています。 お願いします。

    • ベストアンサー
    • CSS
  • DIVボックス内でのCSSを使用した縦位置指定方法

    CSSにてheight、weightを指定したDIVタグの中にテキストを記述し、縦位置の中央揃えを行いたいのですが、方法がわかりません。 "vertical-align:middle;"などを指定しましたが、適用されませんでした。 スタイルに関することは全てCSSで行いたいので、TABLEタグなどでvalignを指定する方法は取りたくありません。 何かいい方法をご存知の方がいらっしゃいましたら、ご回答をよろしくお願いいたします。

  • <div> で テキストを下揃えにすることはできますか?

    CSSでレイアウトを指定しています。 <div>内のテキスト表示位置についてご存知の方がいらしたら教えて下さい。 言葉では分かりづらいかと思いますのでサンプルのページも用意しました。 どうぞよろしくお願いいたしますm(_ _)m 【やりたいこと】 画像の横に長めのテキスト(折り返しあり)を入力する。 テキストを画像の下部に合わせて(下揃えで)表示させたい。 【できないこと】 テキストが上揃えになってしまう。 【避けたいこと】 テキストの上に透明GIFを入れてスペースを空けることは避けたいと思っています。 画像とテキストは<div>タグでくくっていますが、できれば<div>の縦サイズを固定したくないと思っています。 なるべくシンプルな指定方法だととても嬉しいです。 【サンプルページ】 http://question.oteage.net/090426.html

    • ベストアンサー
    • HTML