みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CSSでtext-align

不思議な現象が起きてます。

2行7列の表を作って、
2行目の3~5列と7列目を右寄せにしたいがために、
<td class="right">
で外部CSSに
.right{
text-align:right;
}
と記述したところ適用されませんでした。
しかしインラインで
<td style="text-align:right;">
と書くと右寄せになるんです・・・

原因がわからずこまっています。
ちなみに
<td align="right">
でも表示されませんでした・・・

table全体には以下のCSSが外部で適用されてます、
div.gray_box {
background-color: #FFFFFF;
border-color: #CCCCCC;
border-style: solid;
border-width: 1px;
padding: 1px 0 1px 0;
}
table.wide_table_border {
border: 1px solid #FFFFFF;
border-collapse:collapse;
margin: 0px auto;
padding: 5px;
width: 100%;
}
あまり関係ないとは思うのですが一応載せておきます。

目的としては、必ず外部CSSに記述することです。

投稿日時 - 2007-05-10 11:16:37

QNo.2988233

すぐに回答ほしいです

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

デバグの方法としてはこんなところですかねぇ

(1)HTML内部に
<style type="text/css">
.right{
text-align:right;
}
</style>
として反映するかどうか確かめる

(2)class名をかえてみる。
rightなんて一般的な名前だと別の箇所で実はつかわれてる可能性も
あるでしょうから、たとえばtdrightなどにしてみる

(3)cssの表記にタグを明示する
td.right{・・・}

(4)important宣言してみる
text-align:right ! important;

投稿日時 - 2007-05-10 11:37:57

補足

どれも効果無しでした。

やはり該当する場所が左寄せになってしまいます・・・

投稿日時 - 2007-05-10 11:47:57

お礼

すみません。

4で解決しました。
importantの詳しい役割がよくわからず、
それで解決したということはどういうことがいえるのか解説願えますでしょうか?

投稿日時 - 2007-05-10 11:53:57

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

状況からすると、cssファイルが無効になっているという致命的な
話ではなさそうですね。
また、クラス名やIDの競合でもなさそうなので、
おそらく別要素などでtext-alignが指定されているものが優先されている
と類推します。

あやしいのは
*、body、table、tr、tbody、tdなどタグにtext-alignが設定されていませんか?
その場合は順位をあげるような記述をする必要があると思います。
基本的には! importantは、やむにやまれないときにしか使わないほうが
よいですから。(使っちゃいけないとは言いませんが、見る人がみれば
センスやスキルがないプログラマだと思われることでしょう・・・)

投稿日時 - 2007-05-10 12:26:57

補足

なるほど・・・

CSSを調べてみたところ、
確かに他の部分でかかっているtext-alignがありました。

ありがとうございました。

投稿日時 - 2007-05-10 12:34:39

あなたにオススメの質問