• 締切済み

ボックス中のテキストのミドリング

ボックス内でテキストをミドリング(垂直方向の中央そろえ)しようと思い、次のボックスの記述をしました: #dick { width: 400px; height: 300px; margin: 0px; padding: 0px; text-align: center; vertical-align: middle; } ですが、まったく効果がありません(vertical-align がないときの挙動と同様です)。 代わりに text-valign を入れると、IE から「CSS エラ: 未知のプロパティ text-valign」と怒られてしまいました(おそらく私が勝手に類推した記述で、存在しないのでしょう)。 余白、詰め物や位置情報などボックスの変化によらず、テキストの位置だけをミドリングする方法を教えてください。

みんなの回答

回答No.5

解決策としては#4さんのおっしゃる通り、テーブルで配置するのが良いと思います。 読んでいて思いついたので、ボックス要素でテキストを垂直中央に置く方法。 ただし、内容が1行だけの場合のみ有効です。 (あんまり使い道ないかも・・・) ボックス内部の両側に透明な縦長の画像(hoge.gif)をALIGN="MIDDLE"で配置することで、一応中央に来ます。 <HTML> <BODY> <DIV STYLE="width : 200px ; height : 200px ; border : 2px solid red ; text-align : center"> <IMG SRC="hoge.gif" WIDTH="1" HEIGHT="200" ALIGN="MIDDLE"> abcdefg <IMG SRC="hoge.gif" WIDTH="1" HEIGHT="200" ALIGN="MIDDLE"> </DIV> </BODY> </HTML> ※hoge.gifはご自分で用意してください。(*- -)(*_ _)ペコリ

-ROM
質問者

お礼

表組みのつもりはありませんが、ボックスのアイデアになるほどと思いました。 それ以外になさそうなので、一応質問を閉じさせていただきます。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

四角の中に上下左右センタリングするのであれば すでに文書構造とはいえないと解釈して、 テーブルでおこなうというのは選択肢にありませんか? <style type="text/css"> #dick { width: 400px; height: 300px; margin: 0px; padding: 0px; text-align: center; vertical-align: middle; background-Color:yellow; /* とりえず確認用 */ } </style> <table border=0 cellpadding=0 cellspacing=0> <tr><td id="dick">test</td></tr> </table>

すると、全ての回答が全文表示されます。
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.3

質問 text-valign??? text-align??? 基本的には vertical-align はインライン要素とセルだけでブロック要素はダメ ブラウザによっては text-align: center; も margin: auto; との絡みで表示が難しい・・・ #dick { width: 400px; height: 300px; margin: 50%; } margin-top: 値; で調整

-ROM
質問者

補足

インライン?ブロック?ですが、その駄目というのが関係しているようです。 やはり、ただのボックスでは効かないようです。 各ボックスに具体的な画素数でミドリングしたように見せるのが嫌なので、難儀しています。

すると、全ての回答が全文表示されます。
  • jprr
  • ベストアンサー率51% (108/210)
回答No.2

>私の IE がおかしいのかと思いきや、Firefox と Opera でも何の変化もありません。 と言う事は http://www.tees.ne.jp/~pokochan/style/vertical-align.html のサイトでもvertical-alignが適用されてなかったって事ですか?もしそうでなかったら、何かしらの記述ミスです。もしそうだったら、ブラウザ依存でしょう。私のブラウザ(IE)では適用されていたので。

-ROM
質問者

補足

いえ、そのサイトでは、正常かどうかは別として、私が書いたのとは違ってさまざまに表示されていました。が、そのサイトにはセルが使われているようです。

すると、全ての回答が全文表示されます。
  • jprr
  • ベストアンサー率51% (108/210)
回答No.1

vertical-alignの値をsuperにしてみては? http://www.tees.ne.jp/~pokochan/style/vertical-align.html

-ROM
質問者

お礼

IE の CSS バグ リストを見てみましたが、載っていません。私の IE がおかしいのかと思いきや、Firefox と Opera でも何の変化もありません。やはり、vertical-align をボックス内で使うことがそもそもできないのでしょうか。

-ROM
質問者

補足

駄目でした。 すべて試してみましたが、vertical-align がまったく効かないようです(何を指定してもディフォールト?と同じ)。 そもそも、セルでなくボックス内で効くものなのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A