HTMLの勉強をしています。以下のソースですと、“cellpadding”が機能しません。試しに、*{margin:0; padding:0;}を外しレンダリングしてみると、うまくいきました。これは、やはり、「“タグの属性”と“スタイル”での指定なら、“スタイル”が優先されると考えてよいのですか?」
よろしく、お願いします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題ドキュメント</title>
<style text/css>
*{
margin:0px;
padding:0px;
}
</style>
</head>
<body>
<table width="200" border="1" cellspacing="1" cellpadding="15">
<tr>
<td>セルパディング</td>
</tr>
</table>
</body>
</html>
No.2
- 回答日時:
>“タグの属性”と“スタイル”での指定なら、“スタイル”が優先されると考えてよいのですか?
その通りです。スタイルが優先します。
「属性は詳細度 0 に相当するCSS規則として解釈される。それらは制作者スタイルシートの先頭に挿入されているかのごとく扱われ、後続するスタイルシートで上書きされるかもしれない。」
http://www.w3.org/TR/CSS21/cascade#preshint
(CSS 2.1) 6.4.4 Precedence of non-CSS presentational hints
No.1ベストアンサー
- 回答日時:
*{
margin:0px;
padding:0px;
}
なんて、お馬鹿な指定は止めましょう。オーサリングツール由来のもので、それをしてしまうと、すべてのデフォルトのスタイルを一から設定しなおさなきゃならない。
必要最小限の
html,body{margin.0;padding:0;}位でよい!!
スタイルシートを使うときは、基本的にstrictでHTMLを書きましょう。strictはプレゼンテーションに関わる要素、属性が使えません。スタイルシートでプレゼンテーションをHTMLは文書構造をというすみわけがきちんとできます。
<table summary="何とかの表">
<tbody>
<tr>
・・・・・・・・でよい。
CSSを使うなら、プロパティより先にしっかり覚えておかなければならないのは、カスケーディング処理・・これがCSSの命であり、最大の利点。カスケーディング処理を理解してなきゃ、膨大な無駄なCSSととんでもないHTMLを書くことになる。
HTMLの要素(Element)の属性(attribute)での指定は、詳細度0として計算されますから、
たとえば、
table{cellpadding:0.5ex 0.5em;}と指定されただけで、その宣言は詳細度1ですね。だから上書きされる。
6.4.4 CSS以外の手段による体裁指定の優先度 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
カスケーディング処理
★ユーザー、著者の最重要宣言
★スタイルの出所(ユーザー、著者、ブラウザ)
★出現順番
★詳細度
★継承されるプロパティか、されないプロパティか?
値の割り当て、カスケード処理、継承 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
これを使わなきゃ、CSS(カスケーディングスタイルシート)と言いながら、CSSじゃない。
『CSSを使うなら、プロパティより先にしっかり覚えておかなければならないのは、カスケーディング処理・・これがCSSの命であり、最大の利点。カスケーディング処理を理解してなきゃ、膨大な無駄なCSSととんでもないHTMLを書くことになる』このアドバイスに、目からうろこが落ちたような気がします。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TABLEのセルの中の文字を行単位...
-
テーブルとテーブルの間隔について
-
CSSで特定のテーブルだけに...
-
table表を横に並べる際の間隔指定
-
<th>タグを使っても太字にしな...
-
tableの位置がIEとその他ブラウ...
-
HTML tableのセルにtextareaを...
-
テーブルの一部のセルだけ罫線...
-
<table>のclass指定が継承されない
-
CSS スタイルを子要素の子要素...
-
HTML5で、テーブル内tdタグの高...
-
HTMLのテーブルをExcelにCopy&P...
-
スタイルの無効化
-
tableのcellpadding="0" cellsp...
-
テーブル内セルの大きさが途中...
-
正規表現で「より前」と「より後」
-
html table の中のボーダーが二...
-
画面幅に合わせてテーブルのカ...
-
パソコンで見るとレイアウトが...
-
テーブルタグの中にdivを含めて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルとテーブルの間隔について
-
TABLEのセルの中の文字を行単位...
-
<th>タグを使っても太字にしな...
-
CSSで特定のテーブルだけに...
-
HTML5で、テーブル内tdタグの高...
-
同じ幅指定のつもりなのに、ブ...
-
table表を横に並べる際の間隔指定
-
テーブル内のセル間にスペース...
-
textareaの外側の文字が下付き...
-
HTML tableのセルにtextareaを...
-
テーブルデータを折り返して表...
-
tableの位置がIEとその他ブラウ...
-
<fieldset>タグについて
-
正規表現で「より前」と「より後」
-
スタイルシートで左側だけ色を...
-
tableのcellpadding="0" cellsp...
-
tableを縦に続けるとtable間の...
-
HTMLのテーブルをExcelにCopy&P...
-
html5のテーブル内でdivのタブ...
-
スタイルの無効化
おすすめ情報