<table>に指定したclass指定が、その下の<td>や<tr>に継承されずに困っています。
HTMLを
<table class="sample">
<tr>
<td>1-1</td>
<td>1-2</td>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
</tr>
</table>
とし、
cssを
table, td {
border: 2px #2b2b2b solid;
}
とした場合、新しくhtmlとcssを作ると表自体と全セルに囲み線が作られます。
ですが、今運営しているHPに記述すると、<table>のborderのみしか表示されません。
試しに、<td>にclassを指定しなおしてみると、そのセルにも囲み線が表示されました。
全<td>にclassを指定すれば問題ないのかもしれませんが、それではあまりにも使い勝手が悪いため、何とかhtmlは<table>のみにclassを指定することで全セルに反映させたいと思っています。
考えられる原因としてはどのようなものがありますでしょうか…?
No.3ベストアンサー
- 回答日時:
>borderが継承されないと言う点は理解しているのですが、<table>に対して指定したclassがその下に位置する<td>に継承されないという点で困っております。
それは「継承」ではありません。
★それは、tdに指定したスタイルが適用されないという事です。
カスケード処理の順序( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
table.sample td{}
は、
・class属性の空白で仕切られた値リストの一つにsampleを持つtable要素の子孫であるtd要素という意味です。詳細度は[0 0 1 2]=12です。
これが適用されないと言う事は、
・より高い詳細度の指定がある。
一意セレクタ[0100]とか、スタイル属性[1000]
より詳細な記述がある。body div.section table td [0 0 1 4]、
・同じ詳細度で後述の指定がある。
・HTMLの文書構造かセレクタの記述に誤りがある。
の何れかでしょう。
Web開発されているなら、開発者ツールが豊富なfirefoxお使いだと思いますがそのアドオンにFirebug( https://addons.mozilla.jp/firefox/details/1843 )があります。それでスタイルが適用されない要素を選択すると、カスケードの順番に従ってスタイルが明示されます。
それを使うのが、最もよくわかる。
回答ありがとうございます。
まだ原因は究明できてないのですが、tableとtrを同時に指定する事で解決しましたので、とりあえず問題自体は解決したという事で、閉め切らせて頂きます。
今後、しっかり原因を究明していきたいと思います。
ありがとうございました。
No.2
- 回答日時:
borderは継承されないプロパティです。
継承されたらまずいです。[例]
<div class="sample">
<h1>見出し</h1>
<p>記事</p>
で、div.sample{border:solid 1px red;}と書いて継承されたら<h1>にも<p>にもborderが引かれてしまう。
'border-style'
値: <border-style>{1,4} | inherit
初期値: 個々のプロパティを参照
適用対象: すべての要素
継承: no ★継承されない
パーセンテージ: 利用不可
メディア: visual
算出値: 個々のプロパティを参照
⇒Box model - CSS 2.1 spec (ja)( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
table.sample{
border: solid 2px gray;
}
table.sample th,table.sample td{
border:1px gray solid;
}
と、borderは個別に指定します。
逆に言うと、上下左右のborderを変更した利することも簡単にできます。
cellpadding - HTML - 教えて!goo( http://oshiete.goo.ne.jp/qa/8788064.html )
の回答が参考になるでしょう。
★なお、tableの場合はsummary属性が必須ですのでそれを使うと
table[summary="コーヒーの種類"]{*************}
のように、属性セレクタで書くほうが楽です。
また、本文中の表をすべてしたら
div.section table{}
div.section table th,div.section td{}
とするなど
5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
をしっかり活用しましょう。CSSの命ともいえる重要な部分ですから・・
この回答への補足
質問の記述内容に誤りがありました。ご迷惑をおかけしすみません。
CSSは、No1様が記述されているように、classを限定した表記の
table.sample td {
border: 2px #2b2b2b solid;
}
で記述した場合の話です。
borderが継承されないと言う点は理解しているのですが、<table>に対して指定したclassがその下に位置する<td>に継承されないという点で困っております。
新しく作り直したhtmlとcssでは問題なく継承されますので、何か原因があるのだろうとは思っているのですが…
No.1
- 回答日時:
今運営されているホームページには、質問者さんがcssの記述をしか箇所以外にtdのスタイルを指定している箇所があるのではないでしょうか。
また、tableにclassをつけているのであれば
table.sample td {
border: 2px #2b2b2b solid;
}
とすれば、sampleクラスのテーブル内のtdにスタイルが適用されます。
この回答への補足
質問の記述内容に誤りがありました。ご迷惑をおかけしすみません。
CSSは、No1様が記述されているように、classを限定した表記の
table.sample td {
border: 2px #2b2b2b solid;
}
で記述した場合の話です。
同じようにID指定で記述しているtdが一つあるのですが、そちらを削除してもclass指定が継承されませんでした。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Perl PERL 1 2022/04/26 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<th>タグを使っても太字にしな...
-
テーブルとテーブルの間隔について
-
画面幅に合わせてテーブルのカ...
-
CSSで特定のテーブルだけに...
-
table表を横に並べる際の間隔指定
-
<li>と<table>タグについて
-
CSSを適用…させない!
-
VBAで作れるかな?
-
TABLEのセルの中の文字を行単位...
-
HTMLのテーブルをExcelにCopy&P...
-
html table の中のボーダーが二...
-
テーブルをサイトの真ん中に表...
-
html5のテーブル内でdivのタブ...
-
CSS スタイルを子要素の子要素...
-
tableの位置がIEとその他ブラウ...
-
テーブルの一部のセルだけ罫線...
-
HTML5で、テーブル内tdタグの高...
-
table 幅固定で、端までいった...
-
Frameを使わないホームページの...
-
HTML tableのセルにtextareaを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<th>タグを使っても太字にしな...
-
TABLEのセルの中の文字を行単位...
-
テーブルとテーブルの間隔について
-
CSSで特定のテーブルだけに...
-
HTML tableのセルにtextareaを...
-
テーブル内のセル間にスペース...
-
table表を横に並べる際の間隔指定
-
HTML5で、テーブル内tdタグの高...
-
同じ幅指定のつもりなのに、ブ...
-
<fieldset>タグについて
-
ホームページのテキストを折り...
-
html5のテーブル内でdivのタブ...
-
HTMLのテーブルをExcelにCopy&P...
-
textareaの外側の文字が下付き...
-
tableを縦に続けるとtable間の...
-
フォームタグのプルタウンの隙...
-
スタイルシートで左側だけ色を...
-
画面幅に合わせてテーブルのカ...
-
tableの位置がIEとその他ブラウ...
-
<table>のclass指定が継承されない
おすすめ情報