• ベストアンサー

CSSに同様の内容を別名称でまとめて設定

CSSに同様の内容の設定を別の名称で作成したいのですが簡単な方法ありますでしょうか。 具体的には test { color: red } test2 { color: red } のような設定を行うのに簡単な記述はありますでしょうか。 もしくは設定を名称をしていして継承するということは可能でしょうか? どうしてもjQueryでCSS名での指定を行いたいためです。(別の指定方法は不可です。) よろしくお願いします。

  • CSS
  • 回答数3
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

相変わらずジジイは質問に答えねえな(笑) test1なんか「例」に決まってんだろ(笑) test1, test2 {  color: red } とカンマで区切って並べてください。 詳しくは「CSS セレクタ 複数」で検索。 ちなみにカンマを忘れると「test1の中のtest2」に適用するという意味になってしまうので注意。これも上記の検索結果の中で出てくると思います。 更に言うと、まったく同一のスタイルを設定するなら、両者に同じclassを追加したほうが話が早いです。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

ご質問文中のtestやtest2が何らかのセレクタを意味しているとするなら、  test, test2 { color : red; } で可能では? >jQueryでCSS名での指定を行いたいためです。 何か勘違いしているような… 「CSS名」という概念はないと思いますけれど、スタイルシートそのものを編集したければ、スタイルシートのデータを書き換えることで可能ではありますが、そういうことを考えているわけではないですよね? 通常は、CSSと同様のセレクタを用いて要素を特定し、style属性を指定(設定)している場合が多いと思います。 その場合は、初期設定のCSSの記述方法はほとんど関係しないはずです。 スクリプトからstyle属性に設定するスタイルは、個々の要素のstyle属性を定義していますので、HTMLソースに記述するstyle="~"の部分を書換えているようなイメージとなります。 このような直接属性を変更する方法のほかに、クラス属性を変更することで適用するスタイルを変えるという方法が通常は用いられていると思います。 上記のスタイルシートの定義そのものを書き換える方法はあまり用いられていないと思いますが…

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

{の前にかかれたものはセレクタですが、testとかtest2とかかれると、それはタイプセレクタになります。しかし、少なくともHTMLにはこれらの要素はありません。  ⇒5. セレクタ ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html )  ⇒6. 値の割り当て、カスケード処理、継承 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cascade.html ) をしっかりお読みください。color:redなどのプロパティより、先に確実に身につけておかなければなりません。  このふたつを理解していたら、この質問はないのではないかと・・ jQueryでclass名での指定と言う意味がわからないのですが、スタイルシートのクラスセレクタは、「スペースで区切られたclass属性値のリストのひとつにマッチするもの」を指定する要素セレクタの一種(class~=)とまったく同じものです。  <span class="first name male">山田</span><span class="second name male">太郎</span>、<span class="first name female">田中</span><span class="second name female">陽子</span>、<span class="first name male">鈴木</span><span class="second name male">健太</span>・・  なら、 span.first.name{font-weight:bold;} span.second.name{font-style:italic;} span.name.male{color:blue;} span.name.female{color:red;} span.name{text-decoration:underline;} span.female,span.male{background-color:yellow;} と、書けます。セレクタの意味はわかりますよね。  本来、class名やidは「id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )」ものですから、そこで迷うことはないはずです。  統一的なプレゼンテーションをしたいのでしたら、必ずそのようにHTMLがマークアップされているはずだからです。 [例] body>div.section>p{}なら、bodyの直接の子孫である本文の段落は・・・ div.section p:first-child{font-weight:bold;}本文最初の段落は・・・  と、  なぜなら、共通の設定をしたいと言うことは、共通点があるということですから!!それが出来ないとしたら、HTMLのマークアップ不足です。HTMLはデザインのためではなく、文書構造だけをマークアップするという基本に帰って見ます。  

関連するQ&A

  • jQueryでCSSの値を動的に指定する方法

    自分なりに調べてみたのですが、理解不能なのでご教授お願いします。 $("#hoge").css("color","red"); ↑このように指定するとID"hoge"の文字色が赤になる、というCSSのアレンジで、 "red"の部分を動的に指定したいのですが、どのような指定をすれば実現するのでしょうか。 $(document).ready(function() { var test = "red"; $("#hoge").css("color",$test); }); ↑こういう書き方じゃ動きませんでした…。 こちらの質問が似ていたのでマネしてみたのですが、 私が希望する「CSSの値を動的に」はできませんでした。 jqueryのcssを動的指定する方法 http://okwave.jp/qa4268190.html .css()を使わなくても、結果的に同じ動作になる方法ってないものでしょうか? アドバイスを頂けたら助かります。 宜しくお願いいたします。

  • <div>を使っての領域設定と、cssの指定について教えてください。

    <div>を使っての領域設定と、cssの指定について教えてください。 WEBサイト作成中なのですが、フッター部分の作成に苦戦しております。 添付図のような配置で、<div>を使って5つの領域を設定したいのですが、うまくいきません。 HTMLでの記述と、CSSでの指定の方法を教えていただけませんか? どうぞよろしくお願いいたします。

  • jQuery: if文によるcss判定

    こんにちは、 <p style="color:red;">テスト</p> $(function(){ $("p").click(function(){ if($(this).css("color")=="red"){ $(this).css("color", "blue"); }else{ $(this).css("color", "red"); } }); }); 以上のように、文字色が赤だった場合には青に、赤以外であった場合は赤に、というif文を記述しても機能しませんでした。=="red" の部分を !="red" とすると、文字色が変化するので、デフォルトの文字色が赤と判定されていないようです。色指定を16進数やrgb形式にしても結果は同じでした。p要素をクラスによる色指定(.red { color:red })に変更し、hasClass による条件分岐にした場合は、問題なく機能します。どうして上記が動作しないのか、どなたか教えて頂けませんか。よろしくお願いします。

  • CSSのグルーピング

    グルーピングといっても通常のグルーピングではありません。 テンプレートを作成してグルーピングしたいのです。 簡単に書くと次のような感じになります。 .sample1 { color:RED } p1.test { sample1 } やっていることがお分かりでしょうか。 スタイル設定を入れ子にしたいということです。 これができれば構造化されて記述がすっきりします。 (この例ではあまり変わりませんが) 最終的には次の形にしたいと思っています。 .sample1 { color:RED } .sample2 { color:BLUE } .sample3 { color:GREEN } P1.test{ .sample1 ; .sample2 ; .sample3 } こちらの例は可能なら書式を指導して頂くとして とりあえずは最初の書式を可能か不可能かを含めて指導して下さい。

  • CSSの継承

    HTMLに挑戦してから1年が経ちます。 少しずつ勉強してようやく形になってきましたが 継承のことについてよく分からないままきたので質問いたします。 スタイルシートの本には継承されない属性の方が多く書かれています。 例えば代表的なbackground-colorとかがありますが、 私のパソコンでは何故か継承されてしまっているようなのです。 環境はWindowsXP Pro、ブラウザはIE6で試しています。 例えば以下のようなソースです。これをコピペでメモ帳に貼り付けて下さればテストできます。 継承されないのなら<P>タグの背景色は初期値の白のままだと思います。 これって私の継承の理解が間違っているんでしょうか。 それとも他に原因があるのでしょうか。未だに謎なのでよろしくお願いします。 <style type="text/css"> <!-- div {background-color:red} --> </style> <div>aaa <p>継承していません</p> aaa</div>

    • ベストアンサー
    • HTML
  • jQueryで配列の値をidのセレクタに使う方法

    以下のようなjQueryのソースで、配列Xに入れた文字列A,B,Cがidの要素について、配列を介さずにCSSでcolorをredにしようとしたとき、そのまま書けば、『$('#A, #B, #C').css('color', 'red');』だと思うのですが、配列X[0],X[1],X[2]の表記を利用して、セレクタを指定するにはどうすればよいでしょうか。 具体的には、 『$('#'+X[0]).css('color', 'red'); $('#'+X[1]).css('color', 'red'); $('#'+X[2]).css('color', 'red');』 というコードを、cssを3回指定せずに、1回で済ませたいということです。 [jQueryソース] $(function(){ <p id='A'>1</p> <p id='B'>2</p> <p id='C'>3</p> X = []; X[0] = 'A'; X[1] = 'B'; X[2] = 'C'; $('#A, #B, #C').css('color', 'red'); });

  • jQueryはインタラクションの対象としてcss

    jQueryはインタラクションの対象としてcssが利用できるからです。例えば最初に紹介した以下のjQueryのサンプルですが、対象を指定する「#test」はcssと共通で、id属性がtestの要素という意味になります。 $("#test").text("hello world!"); jQueryはインタラクションの対象としてcssが利用できる、とは、どういう意味でしょうか? インタラクション? よろしくお願いします。

  • フォントサイズの設定変更 CSS

    ホームページテンプレート・CSSを個人サイトよりお借りして 作成しております。 CSSで、 * { margin : 0; padding : 0; color : #000; font : normal 10px Verdana; line-height : 200%; letter-spacing : 0.2em; } このような記述があり、ページ全体がここで設定されているフォントサイズ になっています。 ただしある一部分だけ個別にフォントサイズを変更したいのですが、 HTML側に記載してもこのCSSのほうが優先されてしまい 反映しません。 設定する方法は無いのでしょうか?ご回答お願いいたします。

    • ベストアンサー
    • HTML
  • CSSでリンク色の指定を、まとめて記述は出来る?

    #footer  {color:white;} #footer  a { color:red; } 「フッターの文字色を白、フッター内のリンクは赤」と上記は指定しています。 この記述をまとめて1行で書く方法は有りますか? #footer {color:white; a color:red;} 上記の様な記述を試しましたが、無理でした。 アドバイスをよろしくお願いします。

    • ベストアンサー
    • CSS
  • ウィンドウサイズを取得するjQuery

    レスポンシブ対応の際、jQueryでリアルタイムにウィンドウサイズを取得する方法について質問です。 例えば「ウィンドウサイズが700以下の時、文字色を赤に変える」としたい時、検索すると下記のようにすればよいとでてきます。 ■ HTML <p>サンプルテキスト</p> ■ jQuery var WindowWidth = $(window).width(); $(window).resize(function(){ if(WindowWidth < 700){ $("p").css({ color: 'red' }); } else { $('#sample').css({ color: 'black' }); } }); 確かにこの記述をするとウィンドウサイズを変更すれば適用されるのですが、元々のサイズが700px以下のときには適用されません。 なので、今は下記のように記述しています。 ■ jQuery var WindowWidth = $(window).width(); $(function(){ if(WindowWidth < 700){ $("p").css({ color: 'red' }); } }); $(window).resize(function(){ if(WindowWidth < 700){ $("p").css({ color: 'red' }); } else { $('#sample').css({ color: 'black' }); } }); こう書くと希望通りの動作(ウィンドウサイズが700px以下のときは文字が赤色になり、ウィンドウサイズを変更するとリアルタイムで変更される)をしてくれるのですが、もう少しきれいにまとめられるのではないかな?と考えております。しかし、うまい記述方法がわからず…。 ご教授いただけると助かります。

専門家に質問してみよう