アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>

A 回答 (2件)

>“タグの属性”と“スタイル”での指定なら、“スタイル”が優先されると考えてよいのですか?



その通りです。スタイルが優先します。

「属性は詳細度 0 に相当するCSS規則として解釈される。それらは制作者スタイルシートの先頭に挿入されているかのごとく扱われ、後続するスタイルシートで上書きされるかもしれない。」
http://www.w3.org/TR/CSS21/cascade#preshint
(CSS 2.1) 6.4.4 Precedence of non-CSS presentational hints
    • good
    • 0
この回答へのお礼

W3Cの記事を引用していただいての丁寧な回答ありがとうございました。

お礼日時:2011/07/05 06:42

*{


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じゃない。
    • good
    • 0
この回答へのお礼

『CSSを使うなら、プロパティより先にしっかり覚えておかなければならないのは、カスケーディング処理・・これがCSSの命であり、最大の利点。カスケーディング処理を理解してなきゃ、膨大な無駄なCSSととんでもないHTMLを書くことになる』このアドバイスに、目からうろこが落ちたような気がします。ありがとうございました。

お礼日時:2011/07/05 06:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!