td.2of2 { width: 310; padding: 0px 15px 0px 0px; }
と指定しました。
Dreamweaver上ではパッディングしているのですが、
FireFoxやIE7で表示させると、
パッディングせず、文字列(p)がtdの右端とくっついて表示されてしまいます。
なぜでしょうか?
ご質問の例では、クラス名が「2of2」と数字で始まっていますが
クラス名の先頭文字はアルファベットのみ、と決まっていまして
数字で始めた場合はブラウザが認識しません。
http://www.plannel.net/naniwacg/archives/164
このクラス名をアルファベットで始まる別の名前に変更すれば
問題なく表示されると思います。
CSSセレクタ名は数字で始めることが許されていないのも原因の一つかもしれませんが、
その外側がどのように定義されているかにもよるかもしれません。
状況が再現できるHTML,CSSを書かれた方がよいかと思います。
ご質問の例では、クラス名が「2of2」と数字で始まっていますが
クラス名の先頭文字はアルファベットのみ、と決まっていまして
数字で始めた場合はブラウザが認識しません。
http://www.plannel.net/naniwacg/archives/164
このクラス名をアルファベットで始まる別の名前に変更すれば
問題なく表示されると思います。
おっしゃる情報を元にサンプルを起こしてみました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>table align test</title> <style type="text/css"> <!-- td { width: 310px; padding: 0px 15px 0px 0px; border: 1px solid blue; } td p { border: 1px solid red; } //--> </style> </head> <body style=""> <table style=""> <tbody> <tr> <td> <p>あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお</p> <p>かきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこ</p> </td> </tr> </tbody> </table> </body> </html>
おそらくくっついていないと思います。
何かしらのサイズ指定のどこかで、テキストが自動改行しなくなっていたりしないでしょうか。 html内のタグにつけた属性と、スタイルシートの条件の重なり具合をチェックするといいかもしれません。
よりシンプルなhtml/cssを書いて、徐々に積み上げて作っていくことをお勧めします。
コメント(0件)