WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:スタイルシートについて

0:[投稿] ひょう [2003/03/13 10:45 ][環境:IE5以上 Apache]

お世話になります。

表のほとんどのカラムが右寄せ表示なので、
スタイルシートで以下のように指定しました。
ただ、一部のカラムが左寄せなので、
そのカラムだけ以下のようにしたのですが、全て右寄せで表示されます。
スタイルシートでtd指定した場合、一部だけ対象外のカラムを
指定することはできないのでしょうか?
また、このようなことを簡単に実現できる方法はないのでしょうか?

<Style Type="text/css">
<!-- td { text-align : right; }-->
</Style>

<TD align="left">一部のカラム</TD>

宜しくお願いします。


1:[回答] w10c [2003/03/13 11:03 ]

<TD style="text-align:left;">一部のカラム</TD>
でどうですか?もしくは、
<TD style="text-align:normal;">一部のカラム</TD>
で。


2:[完了] ひょう [2003/03/13 11:18 ]

w10cさん、即レスありがとうございます。

なるほど、スタイルシートにはスタイルシートで
設定を上書きしてやればいいんですね。

ありがとうございます。


3:[完了] yuu [2003/03/13 15:06 ]

text-align:normal って何?


4:[完了] ひじ [2003/03/14 07:28 ]

#完了にするのが早すぎる。せめて1日ぐらい待ってくれないか
表のある列を右寄せ、あるいは左寄せにするのは、何らかの理由があるかと思う。
例えば、数値を右寄せにし、文字列を左寄せにしたい、といった形だ。
その理由を考慮しながら、HTMLをマークアップするのが基本。

<table>
<caption>caption</caption>
<col class="number">
<col class="string">
<tr>
 <td>99.99</td>
 <td>文字列</td>
</tr>
</table>

そしてマークアップの後にスタイルシートで配置をきめれば良い。
<style type="text/css">
col.string { text-align:left }
col.number { text-align:right }
</style>
# 外部スタイルシートにするのが好ましい

style属性を使用したり、HTMLのレイアウト属性(align属性など)を使うのは推奨しない。これはスタイルシートの利点を殺すことになる。各列のスタイルを変更したり、列の配置を変更したりするときに面倒になる。


5:[完了] w10c [2003/03/14 13:05 ]

何みんな堅いこといってんの?堅すぎるよ。
そんなんじゃ仕事できないよ。


6:[完了] 突っ込み隊 [2003/03/14 14:01 ]

w10c氏、もっと前向きに生きた方が良いと思います。
一つ一つの積み重ねが、自分の人生を作るわけです。
人生にリハーサルは、ありませんよ。


7:[完了] w10c [2003/03/14 15:56 ]

突っ込み隊師へ、もっとマクロで見て下さい。
ミクロでみすぎだよ。
人生論語られても意味不明なのですが。


8:[完了] しげ [2003/03/14 18:02 ]

>w10c氏
確かに固い事かも知れないけど、一文字間違えてるだけでも正確に表示されないんだし、
そんなんじゃ仕事にならないよ?w

人生論云々は別として、指摘された事に関しては真摯に受け答えした方が良いかと。
質問者が間違った知識を覚えてしまったら、質問してきた意味がありません。
マクロで見てもミクロで見てもね。

sage〜
って出来ないんだよね、ココ(^_^;)


9:[完了] yuu [2003/03/14 18:50 ]

それはともかく text-align:normal って何よ? (再掲)


10:[完了] w10c [2003/03/14 23:28 ]

normal が使える物もあるじゃないですか、
で、normalが使えない場合は(エラーとなり)デフォルトの設定:leftになるので、いいかな?と判断してるんですけど。
アバウトすぎましたね。ごめんなさい。


11:[完了] hama [2003/03/15 11:54 ]

colにtext-alignは適用できなかったりするわけなんですが。
少なくとも仕様上は。
IEで適用されるから別に良いのかも知れませんが一応。


12:[完了] ma-to [2003/03/15 14:36 ]


>>10

4.2 (CSS 2)


>>11

ここでまともなCSS関連の意見を久しぶりに見た。なんだか嬉しい。hama氏もご存知のように、
http://lists.w3.org/Archives/Public/www-style/2000Dec/0023.html
に同じ例がある。


---------

何度も言って恐縮だが、勘違いしている人がかなりの割合で存在するから、この場を借りて再び言う。
適用と指定は違う。たとえ適用されなくても指定することは規制されない。ここでは確かにcolには適用されないが、指定すること自体は間違いではない。colに子要素がないから、意味が無いだけだ。
行と列を転置して、
    <tr class="number">..
    .number { text-align : right ; }
とした場合を考えれば理解が深まる。確かにこの指定は適用されないが、入れ子関係が成立しているtd(th)に継承される。結果的にその行のinline contentは右に寄せられる。


13:[完了] 春 [MAIL] [2003/03/17 10:18 ]

ひょうさんの質問での例のように、同じ要素に違うスタイル指定を同時に行った場合の優先順位はどうなるのでしょう?
例えば・・・・

@外部スタイルシートで td { text-align : right; }
A内部スタイルシートで td { text-align : right; }
Bタグに直接 <td style="text-align:right;">
Cタグに直接 <td align="right">

外部スタイルシートを無条件で使えと言われるかもしれませんね・・・

内部って間違った表現かもしれませんが、ふと疑問に思いました。
時間を見つけて自分でも試してみます。


14:[完了] しげ [2003/03/17 10:47 ]

優先順位は、タグに直接 >> 内部 >> 外部だったかと。

って言うか、丸数字は使っちゃ駄目ですよ。


15:[完了] ひじ [2003/03/17 23:26 ]

>>11,12
む。
http://www.w3.org/TR/REC-CSS2/tables.html#q4
http://www.swlab.csce.kyushu-u.ac.jp/man/rec-css2/tables.html#q4
を確認してみたら、 'border', 'background', 'width', 'visibility' プロパティに適用できると書いてあった。見落としていました。ご指摘感謝します。

>>13
CSS(≠スタイルシート)の適用順序は
http://www.doraneko.org/webauth/css1/css1.html#cascading-order (CSS1)
http://www.swlab.csce.kyushu-u.ac.jp/man/rec-css2/cascade.html#cascading-order (CSS2)
を参照。CSS1とCSS2で若干異なるが、
・最初は優先度・出所によりソートが行われる。この優先度・出所によるソートはCSS1とCSS2では若干異なっている。しかし、インポートされたスタイルシートは、インポート元の文書と同じ出所となる点は同じである。
・次は詳細度によりソートが行われる。詳細度が高いものが優先される
・同じ詳細度であれば、後に指定されたものが優先される。なお、取り込まれたスタイルシートは、すべての規則に先行するものとする。
・HTMLによる指定(<td align="right">のようなもの)は、最低の詳細度を持つ。

つまり、
タグに直接 <td style="text-align:right;"> >> style要素による指定 >> 外部スタイルシート >> タグに直接 <td align="right">

>>14
3年前であれば「丸数字は使っちゃ駄目」で済みましたが、今は話がややこしくなっています。
JIS X 0213 で丸数字はJIS規格になり、現在はUNICODEにも収録されているので、HTML4.01で丸数字を使うことは可能です。
しかし、この相談室のHTMLの文字符号化方式はShift_JISです。Shift_JISはJIS X 0201+JIS X 0208で、丸数字は含まれていません。この掲示板の記事に丸数字が現れるのは変です ( http://www.parkcity.ne.jp/~chaichan/qanda/qa3187.htm#r2 にあるように文字実体参照を用いれば別)。
フォーム送信時にJIS X 0201・JIS X 0208のどちらにもない文字が送られてきているのであれば、投稿CGIスクリプト側でエラーにしてしまうか、JIS X 0201・JIS X 0208にある文字(例えば〓とか)に変換してしまうべきと思います。


16:[完了] Yachimata [MAIL] [2003/03/18 09:31 ]

ふむふむ。
しげさん、ひじさん、レス感謝です。


17:[完了] ma-to [2003/03/18 11:13 ]


>>15

# 達人に感謝されても困るので感謝しないで頂きたい。

ところで。
そもそも、個人的には、表は視覚の為の表示形式だと思っている。視覚健常者が、学校教育を受けた結果、十字を切りながら目的のデータを探し出すことに無意識に慣れている、という事実を直接利用しているものであり、極めて有用であることは確かだと思う。だから、レイアウト属性の実装を充実させてほしいところだが、rfc1942の頃から既にこれへの消極的な姿勢が見て取れる。従って、レイアウト属性を書かないでCSSだけに依存する方が、寧ろ、現実的であることに間違いは無い。
かといって、CSSを切り離してよいものかどうか。切り離すことに意味があるのだろうか。切り離されたそれはサイト内外から再利用されるだろうか。
表作成者は枠(ボーダー)の見え方にまで意味を込めている。製図の世界に似ている。図面に対する見栄えが分離されるためには、細部に渡る標準規格が不可欠であるが、そんなものは存在していない。従って、表作成者の適切なコメントを添えたCSSを表の書かれた同じ文書に残しておかないと、利用者はセマンティクスを求めてさまよいかねないが、いかがなものか。
そしてこの状況は、寧ろ、保守引継ぎに際して必ずつきまとうトラブルであると思われる。これを回避する即席の方法は分離を避けることだと思うが、いかがなものか。
<style ../>が恣意的にスタイルを指定するために存在しているとは思わないが、表や画像のそれを指定するためには必要だろうと思う、ということ。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World