電子書籍の厳選無料作品が豊富!

ちは!
さてさて~スタイルシートで、たとえばページ内のtableすべてにスタイルシートを適用させるため書くのは
TABLE{
うんぬん
}
ですが!この状態で、ページ内の数個のtableにはこの「うんぬん」を適用させたくない!
だからって、適用させたいtableにclassを設定しテクノは面倒だ!
そこで!、適用させたくない数個のtableに、「TABLE」に対してのstyleは適用させない!っていうclassを書く。
そんなCSSありますか?(わかりにく・・・い・・・)
とりあえず、「ここは適用しなくていいよ」っていうCSSありませんかね?探してもないものはないんでしょうか・・・

A 回答 (3件)

inputにborderなんかを適応させようとすると


checkboxに余計な線が・・・。
という似たような経験があります。

私の場合は、適応したくないinputにclass付けをし
もともとに適応させていたスタイルを無効にするような
記述をして対処しました。

具体的にはこうです。
input{
 border:solid 1px #000;
 /*全てのinput要素に1px、黒の罫線で囲む*/
}
input.nostyle{
 border:0px;
 /*罫線をなくす*/
}

<input type="checkbox" name="use_cookie" value="on" class="nostyle">
<input type="submit" value="SUBMIT" name="submit">

ちなみにCSSを弾くCSSというのは残念ながらないです。
そのかわりに、font-styleやline-heightなど多くの
プロパティにnormalやnoneなどの値が用意されています。

つまり、弾くという発想ではなくて標準の状態をCSSで指定する
という発想でしょうか。
    • good
    • 0
この回答へのお礼

そうなんです!チェックボックスとかに余計な線が(ノ_・。)
あれが気に食わなくて(笑)
nostyleですか!
>つまり、弾くという発想ではなくて標準の状態をCSSで指定する
でしたm(__)m
とてつもなくすっきりしました☆
ありがとうございました

お礼日時:2003/03/17 12:31

適用させたくないtableがほんの数個なら、そちらにclass="nostyle"などと割り当てて、スタイルシートでうんぬんをしない設定をすると早いと思います。



適用させたくないtableがある程度連続してあるのなら、

<div class="nostyle">

<table>....</table>

<table>....</table>

<table>....</table>

</div>

という具合に適当なdivで囲んで、スタイルシートを

div.nostyle table {

}
(↑classがnostyleのdivの中に存在するtableのスタイルを設定)
としてうんぬんをしない設定を施すといいのでは?

ページごとで分けるなら、bodyにクラスを振るといいと思います。

#"「ここは適用しなくていいよ」っていうCSS"はちょっと聞いたことないですね。No.2の方の

>つまり、弾くという発想ではなくて標準の状態をCSSで指定する
という発想でしょうか。

で正解だと思います。標準というのはあくまでブラウザの解釈で、変化するわけですから、むしろこちらで指定していたほうが安全かもしれません。

この回答への補足

あ、nostyleって自分で考えたクラス名なんですかね(笑)
まい~や。補足でごめんなさい。本当はお礼なんですが・・・

補足日時:2003/03/17 12:36
    • good
    • 0
この回答へのお礼

ありがとうございます!nostyleですなぁ~しらなかったぁ~そのまんまでしたね(笑)
しかも、クラスをそこまで指定できるとはしりませんでした、DIVのnostyleをtableだなんて・・・こまか(笑)
またここでは2つも勉強させていただきました。。
ありがとうございます

お礼日時:2003/03/17 12:35

全体の定義に、


TABLE{
を使うと、すべての<table>が対象になりますので、ある一部の<table>だけを対象外にすることは出来ないですね。区別がつきませんから。
ですから、区別をしてやる必要があります。
IDを振ったらダメなんですか?↓こんな感じ。
#id名 { プロパティ: 値 };
要素名#id名 { プロパティ: 値 };

もうひとつの方法は、対象外の<table>だけ別の定義をすることしか思いつきません。
定義を有効にしたい<table>としたくない<table>が比較的片間ってあるなら、<div>で有効範囲を限定する方法もあります。

この回答への補足

TABLE全体に対してのにstyleふって、一部のTABLEにclass指定すればclassのほうが有効になりますよね?で、classよりIDが有効。こういった解釈で行きますが、
じゃ、TABLE{
つかっても一部にクラス指定すればTABLE{
ははじけるんですよね・・・
でも本題は全体に定義されたTABLE{
をはじくCSSがあるかってことだから、それがないならしょうがないです・・・レイアウトコンテナしかないんですね、
実際はTABLEでなくINPUTに対してなんですよね、
今外部CSSですべてのページのINPUTにたいしてCSS適応されてるんですが
INPUTに対してCSSを適用する必要があるものとCSSを適用したくないINPUTが混在したページができちゃって…
だからCSSを適用したくないINPUTをdefaultに表示したくて、CSSを弾く?CSS(矛盾といえば矛盾のCSS)があればclassでしていしてデフォルトの表示にできればなって、
そういうしこうでした(+_+)わかりにくいですね・・・
わかってください

補足日時:2003/03/16 21:37
    • good
    • 0
この回答へのお礼

!!!!!!!!!!!!!!
IDがあった・・・わすれてました・・・
あ、でも・・・(補足に記入)
ありがとうございますた

お礼日時:2003/03/16 21:37

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