質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

2527閲覧

CSSで同じタグに対して異なるスタイルの適用

SugiuraY

総合スコア317

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/11/15 04:06

編集2016/11/15 05:30

お世話になっております。

下記のように全体のtableタグにスタイルwidth:1000px;を適用していたのですが、table2のテーブルだけthの幅の合計にするために、class="table2"を設定し、thのwidthをそれぞれ50pxで指定いたしました。

いろいろ調べていたのですがCSSの優先順位は
「idセレクタやclassセレクタなどの具体的・局所的なセレクタは、タイプセレクタや全称セレクタのような全般的なセレクタより優先される」
あったのですが

おそらくclassだけtable2を指定しても特にwidthをtable2には適用したくないためスタイルを指定しておらず、table2のなかのthの幅50pxが適用されておりません。

table2だけをth50pxの合計を適用したいのですが、どなたかアドバイスをいただけませんでしょうか。

<追記>
上記の質問内容ですが、単純化のため、不適切な内容であったため、修正を致しました。

宜しくお願い申しあげます。

HTML <table border="1" style="border-collapse:collapse;"> <thead> <tr> <th >ABCDEFG</th><th>HIJKLMN</th> </tr> </thead> <tbody> <tr> <td>1000</td><td>2000</td> </tr> </tbody> </table> <br> <table class="table2" border="1" style="border-collapse:collapse;"> <thead> <tr> <th style="width:50px;">あいうえお</th><th style="width:50px;">かきくけこ</th> </tr> </thead> <tbody> <tr> <td>1000</td><td>2000</td> </tr> </tbody> </table>
CSS table{ width:1000px; } .table2{ //テーブルとしてのwidthが固定したくない }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gin

2016/11/15 04:13

上記のコードだけだと適用されていますよ?
SugiuraY

2016/11/15 04:47

ご指摘有難うございます。質問内容が適切ではなかったため、修正を致します。
guest

回答3

0

ベストアンサー

とりあえず質問のコードでは効くので、よくある原因として.table2の前や中で全角文字を使っている場合が考えられます。
全角のコロンやセミコロン。
特に見落としがちなのが全角スペースです。

単に.table2が他にいてそこでwidth: 1000px;とやっていることもありえますが…
###追記
こちらでいけると思います。

css

1.table2 { 2 width: auto; 3}

投稿2016/11/15 04:33

編集2016/11/15 05:38
gin

総合スコア2722

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2016/11/15 04:46

ご回答有難うございます。 大変申し訳ございません。正確な質問を差し上げるべきでした。皆様のご指摘の方法で確かに提示したコードについては分ける事ができました。 ご説明のために、コードを単純化したのが私のミスでした。 実際には.table2のwidthを変えたいわけではなく、テーブルとしての幅は固定せずに内包される<th>のそれぞれの幅の合計をテーブルの幅にしたいと考えております。 質問内容を修正いたします。
gin

2016/11/15 05:39

質問は正確にお願いしますね… 追記しておきました。
SugiuraY

2016/11/15 05:47

ご回答ありがとうございます! すみません、そんな単純だったのですね。。失礼致しました。
guest

0

HTML

1<!-- ↓ 「"」抜け ↓ 「th style=」 ↓ 「"」抜け --> 2<th style="width:50px;>あいうえお</th><thstyle="width:50px;>かきくけこ</th>

追記:

いまいち質問文が読み解けません。こういうことですか?

CSS

1.table2 { 2 width: auto; 3}

投稿2016/11/15 05:23

編集2016/11/15 05:35
kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2016/11/15 05:31

大変失礼致しました、ご指摘の点修正をいたしました。 宜しくお願い申し上げます。
SugiuraY

2016/11/15 05:48

ご回答いただき、まことに有難うございます。 その通りでした。大変失礼致しました。
guest

0

あまり美しくはないですが、
importantをつけると強制的に使用されます。
ただ、これにも適用される順序があるので注意して下さい。

CSSの優先順位

CSS

1table{ 2 width:1000px; 3} 4 5.table2{ 6 width:500px!important; 7}

投稿2016/11/15 04:11

mukkun

総合スコア882

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2016/11/15 04:56

ご回答有難うございます。 すみません、質問を端的に行うために例を単純化したため、内容を誤ってお伝えしてしまいました。深くお詫び申し上げます。質問内容を修正させて頂きました。 宜しくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問